kexec applied from
[linux-2.6.git] / arch / ppc / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
3 #
4
5 mainmenu "Linux/PowerPC Kernel Configuration"
6
7 config MMU
8         bool
9         default y
10
11 config UID16
12         bool
13
14 config GENERIC_HARDIRQS
15         bool
16         default y
17
18 config RWSEM_GENERIC_SPINLOCK
19         bool
20
21 config RWSEM_XCHGADD_ALGORITHM
22         bool
23         default y
24
25 config HAVE_DEC_LOCK
26         bool
27         default y
28
29 config PPC
30         bool
31         default y
32
33 config PPC32
34         bool
35         default y
36
37 # All PPCs use generic nvram driver through ppc_md
38 config GENERIC_NVRAM
39         bool
40         default y
41
42 source "init/Kconfig"
43
44 menu "Processor"
45
46 choice
47         prompt "Processor Type"
48         default 6xx
49
50 config 6xx
51         bool "6xx/7xx/74xx/52xx/8260"
52         help
53           There are four types of PowerPC chips supported.  The more common
54           types (601, 603, 604, 740, 750, 7400), the Motorola embedded
55           versions (821, 823, 850, 855, 860, 52xx, 8260), the IBM embedded
56           versions (403 and 405) and the high end 64 bit Power processors
57           (POWER 3, POWER4, and IBM 970 also known as G5)
58           Unless you are building a kernel for one of the embedded processor
59           systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx.
60           Note that the kernel runs in 32-bit mode even on 64-bit chips.
61           Also note that because the 52xx & 82xx family has a 603e core,
62           specific support for that chipset is asked later on.
63
64 config 40x
65         bool "40x"
66
67 config 44x
68         bool "44x"
69
70 config POWER3
71         bool "POWER3"
72
73 config POWER4
74         bool "POWER4 and 970 (G5)"
75
76 config 8xx
77         depends on BROKEN
78         bool "8xx"
79
80 config E500
81         bool "e500"
82
83 endchoice
84
85 config BOOKE
86         bool
87         depends on E500
88         default y
89
90 config FSL_BOOKE
91         bool
92         depends on E500
93         default y
94
95 config PTE_64BIT
96         bool
97         depends on 44x
98         default y
99
100 config ALTIVEC
101         bool "AltiVec Support"
102         depends on 6xx || POWER4
103         depends on !8260
104         ---help---
105           This option enables kernel support for the Altivec extensions to the
106           PowerPC processor. The kernel currently supports saving and restoring
107           altivec registers, and turning on the 'altivec enable' bit so user
108           processes can execute altivec instructions.
109
110           This option is only usefully if you have a processor that supports
111           altivec (G4, otherwise known as 74xx series), but does not have
112           any affect on a non-altivec cpu (it does, however add code to the
113           kernel).
114
115           If in doubt, say Y here.
116
117 config SPE
118         bool "SPE Support"
119         depends on E500
120         ---help---
121           This option enables kernel support for the Signal Processing
122           Extensions (SPE) to the PowerPC processor. The kernel currently
123           supports saving and restoring SPE registers, and turning on the
124           'spe enable' bit so user processes can execute SPE instructions.
125
126           This option is only usefully if you have a processor that supports
127           SPE (e500, otherwise known as 85xx series), but does not have any
128           affect on a non-spe cpu (it does, however add code to the kernel).
129
130           If in doubt, say Y here.
131
132 config TAU
133         bool "Thermal Management Support"
134         depends on 6xx && !8260
135         help
136           G3 and G4 processors have an on-chip temperature sensor called the
137           'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
138           temperature within 2-4 degrees Celsius. This option shows the current
139           on-die temperature in /proc/cpuinfo if the cpu supports it.
140
141           Unfortunately, on some chip revisions, this sensor is very inaccurate
142           and in some cases, does not work at all, so don't assume the cpu
143           temp is actually what /proc/cpuinfo says it is.
144
145 config TAU_INT
146         bool "Interrupt driven TAU driver (DANGEROUS)"
147         depends on TAU
148         ---help---
149           The TAU supports an interrupt driven mode which causes an interrupt
150           whenever the temperature goes out of range. This is the fastest way
151           to get notified the temp has exceeded a range. With this option off,
152           a timer is used to re-check the temperature periodically.
153
154           However, on some cpus it appears that the TAU interrupt hardware
155           is buggy and can cause a situation which would lead unexplained hard
156           lockups.
157
158           Unless you are extending the TAU driver, or enjoy kernel/hardware
159           debugging, leave this option off.
160
161 config TAU_AVERAGE
162         bool "Average high and low temp"
163         depends on TAU
164         ---help---
165           The TAU hardware can compare the temperature to an upper and lower
166           bound.  The default behavior is to show both the upper and lower
167           bound in /proc/cpuinfo. If the range is large, the temperature is
168           either changing a lot, or the TAU hardware is broken (likely on some
169           G4's). If the range is small (around 4 degrees), the temperature is
170           relatively stable.  If you say Y here, a single temperature value,
171           halfway between the upper and lower bounds, will be reported in
172           /proc/cpuinfo.
173
174           If in doubt, say N here.
175
176 config MATH_EMULATION
177         bool "Math emulation"
178         depends on 4xx || 8xx || E500
179         ---help---
180           Some PowerPC chips designed for embedded applications do not have
181           a floating-point unit and therefore do not implement the
182           floating-point instructions in the PowerPC instruction set.  If you
183           say Y here, the kernel will include code to emulate a floating-point
184           unit, which will allow programs that use floating-point
185           instructions to run.
186
187           If you have an Apple machine or an IBM RS/6000 or pSeries machine,
188           or any machine with a 6xx, 7xx or 7xxx series processor, say N
189           here.  Saying Y here will not hurt performance (on any machine) but
190           will increase the size of the kernel.
191
192 config KEXEC
193         bool "kexec system call (EXPERIMENTAL)"
194         depends on EXPERIMENTAL
195         help
196           kexec is a system call that implements the ability to shutdown your
197           current kernel, and to start another kernel.  It is like a reboot
198           but it is indepedent of the system firmware.   And like a reboot
199           you can start any kernel with it, not just Linux.
200
201           The name comes from the similiarity to the exec system call.
202
203           It is an ongoing process to be certain the hardware in a machine
204           is properly shutdown, so do not be surprised if this code does not
205           initially work for you.  It may help to enable device hotplugging
206           support.  As of this writing the exact hardware interface is
207           strongly in flux, so no good recommendation can be made.
208
209           In the GameCube implementation, kexec allows you to load and
210           run DOL files, including kernel and homebrew DOLs.
211
212 source "drivers/cpufreq/Kconfig"
213
214 config CPU_FREQ_PMAC
215         bool "Support for Apple PowerBooks"
216         depends on CPU_FREQ && ADB_PMU
217         help
218           This adds support for frequency switching on Apple PowerBooks,
219           this currently includes some models of iBook & Titanium
220           PowerBook.
221
222 config CPU_FREQ_TABLE
223         bool
224         depends on CPU_FREQ_PMAC
225         default y
226
227 config PPC601_SYNC_FIX
228         bool "Workarounds for PPC601 bugs"
229         depends on 6xx && (PPC_PREP || PPC_PMAC)
230         help
231           Some versions of the PPC601 (the first PowerPC chip) have bugs which
232           mean that extra synchronization instructions are required near
233           certain instructions, typically those that make major changes to the
234           CPU state.  These extra instructions reduce performance slightly.
235           If you say N here, these extra instructions will not be included,
236           resulting in a kernel which will run faster but may not run at all
237           on some systems with the PPC601 chip.
238
239           If in doubt, say Y here.
240
241 source arch/ppc/platforms/4xx/Kconfig
242 source arch/ppc/platforms/85xx/Kconfig
243
244 config PPC64BRIDGE
245         bool
246         depends on POWER3 || POWER4
247         default y
248
249 config PPC_STD_MMU
250         bool
251         depends on 6xx || POWER3 || POWER4
252         default y
253
254 config NOT_COHERENT_CACHE
255         bool
256         depends on 4xx || 8xx
257         default y
258
259 endmenu
260
261 menu "Platform options"
262
263 choice
264         prompt "8xx Machine Type"
265         depends on 8xx
266         default RPXLITE
267
268 config RPXLITE
269         bool "RPX-Lite"
270         ---help---
271           Single-board computers based around the PowerPC MPC8xx chips and
272           intended for embedded applications.  The following types are
273           supported:
274
275           RPX-Lite:
276           Embedded Planet RPX Lite. PC104 form-factor SBC based on the MPC823.
277
278           RPX-Classic:
279           Embedded Planet RPX Classic Low-fat. Credit-card-size SBC based on
280           the MPC 860
281
282           BSE-IP:
283           Bright Star Engineering ip-Engine.
284
285           TQM823L:
286           TQM850L:
287           TQM855L:
288           TQM860L:
289           MPC8xx based family of mini modules, half credit card size,
290           up to 64 MB of RAM, 8 MB Flash, (Fast) Ethernet, 2 x serial ports,
291           2 x CAN bus interface, ...
292           Manufacturer: TQ Components, www.tq-group.de
293           Date of Release: October (?) 1999
294           End of Life: not yet :-)
295           URL:
296           - module: <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>
297           - starter kit: <http://www.denx.de/PDF/STK8xxLHWM201.pdf>
298           - images: <http://www.denx.de/embedded-ppc-en.html>
299
300           FPS850L:
301           FingerPrint Sensor System (based on TQM850L)
302           Manufacturer: IKENDI AG, <http://www.ikendi.com/>
303           Date of Release: November 1999
304           End of life: end 2000 ?
305           URL: see TQM850L
306
307           SPD823TS:
308           MPC823 based board used in the "Tele Server" product
309           Manufacturer: Speech Design, <http://www.speech-design.de/>
310           Date of Release: Mid 2000 (?)
311           End of life: -
312           URL: <http://www.speech-design.de/>
313           select "English", then "Teleteam Solutions", then "TeleServer"
314
315           IVMS8:
316           MPC860 based board used in the "Integrated Voice Mail System",
317           Small Version (8 voice channels)
318           Manufacturer: Speech Design, <http://www.speech-design.de/>
319           Date of Release: December 2000 (?)
320           End of life: -
321           URL: <http://www.speech-design.de/>
322
323           IVML24:
324           MPC860 based board used in the "Integrated Voice Mail System",
325           Large Version (24 voice channels)
326           Manufacturer: Speech Design, <http://www.speech-design.de/>
327           Date of Release: March 2001  (?)
328           End of life: -
329           URL: <http://www.speech-design.de/>
330
331           SM850:
332           Service Module (based on TQM850L)
333           Manufacturer: Dependable Computer Systems, <http://www.decomsys.com/>
334           Date of Release: end 2000 (?)
335           End of life: mid 2001 (?)
336           URL: <http://www.tz-mikroelektronik.de/ServiceModule/index.html>
337
338           HERMES:
339           Hermes-Pro ISDN/LAN router with integrated 8 x hub
340           Manufacturer: Multidata Gesellschaft für Datentechnik und Informatik
341           <http://www.multidata.de/>
342           Date of Release: 2000 (?)
343           End of life: -
344           URL: <http://www.multidata.de/english/products/hpro.htm>
345
346           IP860:
347           VMEBus IP (Industry Pack) carrier board with MPC860
348           Manufacturer: MicroSys GmbH, <http://www.microsys.de/>
349           Date of Release: ?
350           End of life: -
351           URL: <http://www.microsys.de/html/ip860.html>
352
353           PCU_E:
354           PCU = Peripheral Controller Unit, Extended
355           Manufacturer: Siemens AG, ICN (Information and Communication Networks)
356                 <http://www.siemens.de/page/1,3771,224315-1-999_2_226207-0,00.html>
357           Date of Release: April 2001
358           End of life: August 2001
359           URL: n. a.
360
361 config RPXCLASSIC
362         bool "RPX-Classic"
363         help
364           The RPX-Classic is a single-board computer based on the Motorola
365           MPC860.  It features 16MB of DRAM and a variable amount of flash,
366           I2C EEPROM, thermal monitoring, a PCMCIA slot, a DIP switch and two
367           LEDs.  Variants with Ethernet ports exist.  Say Y here to support it
368           directly.
369
370 config BSEIP
371         bool "BSE-IP"
372         help
373           Say Y here to support the Bright Star Engineering ipEngine SBC.
374           This is a credit-card-sized device featuring a MPC823 processor,
375           26MB DRAM, 4MB flash, Ethernet, a 16K-gate FPGA, USB, an LCD/video
376           controller, and two RS232 ports.
377
378 config FADS
379         bool "FADS"
380
381 config TQM823L
382         bool "TQM823L"
383         help
384           Say Y here to support the TQM823L, one of an MPC8xx-based family of
385           mini SBCs (half credit-card size) from TQ Components first released
386           in late 1999.  Technical references are at
387           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
388           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
389           <http://www.denx.de/embedded-ppc-en.html>.
390
391 config TQM850L
392         bool "TQM850L"
393         help
394           Say Y here to support the TQM850L, one of an MPC8xx-based family of
395           mini SBCs (half credit-card size) from TQ Components first released
396           in late 1999.  Technical references are at
397           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
398           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
399           <http://www.denx.de/embedded-ppc-en.html>.
400
401 config TQM855L
402         bool "TQM855L"
403         help
404           Say Y here to support the TQM855L, one of an MPC8xx-based family of
405           mini SBCs (half credit-card size) from TQ Components first released
406           in late 1999.  Technical references are at
407           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
408           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
409           <http://www.denx.de/embedded-ppc-en.html>.
410
411 config TQM860L
412         bool "TQM860L"
413         help
414           Say Y here to support the TQM860L, one of an MPC8xx-based family of
415           mini SBCs (half credit-card size) from TQ Components first released
416           in late 1999.  Technical references are at
417           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
418           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
419           <http://www.denx.de/embedded-ppc-en.html>.
420
421 config FPS850L
422         bool "FPS850L"
423
424 config SPD823TS
425         bool "SPD823TS"
426         help
427           Say Y here to support the Speech Design 823 Tele-Server from Speech
428           Design, released in 2000.  The manufacturer's website is at
429           <http://www.speech-design.de/>.
430
431 config IVMS8
432         bool "IVMS8"
433         help
434           Say Y here to support the Integrated Voice-Mail Small 8-channel SBC
435           from Speech Design, released March 2001.  The manufacturer's website
436           is at <http://www.speech-design.de/>.
437
438 config IVML24
439         bool "IVML24"
440         help
441           Say Y here to support the Integrated Voice-Mail Large 24-channel SBC
442           from Speech Design, released March 2001.  The manufacturer's website
443           is at <http://www.speech-design.de/>.
444
445 config SM850
446         bool "SM850"
447         help
448           Say Y here to support the Service Module 850 from Dependable
449           Computer Systems, an SBC based on the TQM850L module by TQ
450           Components.  This board is no longer in production.  The
451           manufacturer's website is at <http://www.decomsys.com/>.
452
453 config HERMES_PRO
454         bool "HERMES"
455
456 config IP860
457         bool "IP860"
458
459 config LWMON
460         bool "LWMON"
461
462 config PCU_E
463         bool "PCU_E"
464
465 config CCM
466         bool "CCM"
467
468 config LANTEC
469         bool "LANTEC"
470
471 config MBX
472         bool "MBX"
473         help
474           MBX is a line of Motorola single-board computer based around the
475           MPC821 and MPC860 processors, and intended for embedded-controller
476           applications.  Say Y here to support these boards directly.
477
478 config WINCEPT
479         bool "WinCept"
480         help
481           The Wincept 100/110 is a Motorola single-board computer based on the
482           MPC821 PowerPC, introduced in 1998 and designed to be used in
483           thin-client machines.  Say Y to support it directly.
484
485 endchoice
486
487 choice
488         prompt "Machine Type"
489         depends on 6xx || POWER3 || POWER4
490         default PPC_MULTIPLATFORM
491         ---help---
492           Linux currently supports several different kinds of PowerPC-based
493           machines: Apple Power Macintoshes and clones (such as the Motorola
494           Starmax series), PReP (PowerPC Reference Platform) machines (such
495           as the Motorola PowerStacks, Motorola cPCI/VME embedded systems,
496           and some IBM RS/6000 systems), CHRP (Common Hardware Reference
497           Platform) machines (including all of the recent IBM RS/6000 and
498           pSeries machines), and several embedded PowerPC systems containing
499           4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.  Currently, the
500           default option is to build a kernel which works on the first three.
501
502           Select CHRP/PowerMac/PReP if configuring for an IBM RS/6000 or
503           pSeries machine, a Power Macintosh (including iMacs, iBooks and
504           Powerbooks), or a PReP machine.
505
506           Select Gemini if configuring for a Synergy Microsystems' Gemini
507           series Single Board Computer.  More information is available at:
508           <http://www.synergymicro.com/PressRel/97_10_15.html>.
509
510           Select APUS if configuring for a PowerUP Amiga.  More information is
511           available at: <http://linux-apus.sourceforge.net/>.
512
513 config PPC_MULTIPLATFORM
514         bool "CHRP/PowerMac/PReP"
515
516 config APUS
517         bool "Amiga-APUS"
518         help
519           Select APUS if configuring for a PowerUP Amiga.
520           More information is available at:
521           <http://linux-apus.sourceforge.net/>.
522
523 config WILLOW
524         bool "Cogent-Willow"
525
526 config PCORE
527         bool "Force-PowerCore"
528
529 config POWERPMC250
530         bool "Force-PowerPMC250"
531
532 config EV64260
533         bool "Galileo-EV-64260-BP"
534
535 config SPRUCE
536         bool "IBM-Spruce"
537
538 config LOPEC
539         bool "Motorola-LoPEC"
540
541 config MCPN765
542         bool "Motorola-MCPN765"
543
544 config MVME5100
545         bool "Motorola-MVME5100"
546
547 config PPLUS
548         bool "Motorola-PowerPlus"
549
550 config PRPMC750
551         bool "Motorola-PrPMC750"
552
553 config PRPMC800
554         bool "Motorola-PrPMC800"
555
556 config SANDPOINT
557         bool "Motorola-Sandpoint"
558         help
559           Select SANDPOINT if configuring for a Motorola Sandpoint X3
560           (any flavor).
561
562 config ADIR
563         bool "SBS-Adirondack"
564
565 config K2
566         bool "SBS-K2"
567
568 config PAL4
569         bool "SBS-Palomar4"
570
571 config GEMINI
572         bool "Synergy-Gemini"
573         help
574           Select Gemini if configuring for a Synergy Microsystems' Gemini
575           series Single Board Computer.  More information is available at:
576           <http://www.synergymicro.com/PressRel/97_10_15.html>.
577
578 config EST8260
579         bool "EST8260"
580         ---help---
581           The EST8260 is a single-board computer manufactured by Wind River
582           Systems, Inc. (formerly Embedded Support Tools Corp.) and based on
583           the MPC8260.  Wind River Systems has a website at
584           <http://www.windriver.com/>, but the EST8260 cannot be found on it
585           and has probably been discontinued or rebadged.
586
587 config SBC82xx
588         bool "SBC82xx"
589         ---help---
590           SBC PowerQUICC II, single-board computer with MPC82xx CPU
591           Manufacturer: Wind River Systems, Inc.
592           Date of Release: May 2003
593           End of Life: -
594           URL: <http://www.windriver.com/>
595
596 config SBS8260
597         bool "SBS8260"
598
599 config RPX8260
600         bool "RPXSUPER"
601
602 config TQM8260
603         bool "TQM8260"
604         ---help---
605           MPC8260 based module, little larger than credit card,
606           up to 128 MB global + 64 MB local RAM, 32 MB Flash,
607           32 kB EEPROM, 256 kB L@ Cache, 10baseT + 100baseT Ethernet,
608           2 x serial ports, ...
609           Manufacturer: TQ Components, www.tq-group.de
610           Date of Release: June 2001
611           End of Life: not yet :-)
612           URL: <http://www.denx.de/PDF/TQM82xx_SPEC_Rev005.pdf>
613
614 config ADS8272
615         bool "ADS8272"
616
617 config LITE5200
618         bool "Freescale LITE5200 / (IceCube)"
619         select PPC_MPC52xx
620         help
621           Support for the LITE5200 dev board for the MPC5200 from Freescale.
622           This is for the LITE5200 version 2.0 board. Don't know if it changes
623           much but it's only been tested on this board version. I think this
624           board is also known as IceCube.
625
626 endchoice
627
628 config PQ2ADS
629         bool
630         depends on ADS8272
631         default y
632
633 config TQM8xxL
634         bool
635         depends on 8xx && (TQM823L || TQM850L || FPS850L || TQM855L || TQM860L || SM850)
636         default y
637
638 config EMBEDDEDBOOT
639         bool
640         depends on 8xx || 8260
641         default y
642
643 config PPC_MPC52xx
644         bool
645
646 config 8260
647         bool "CPM2 Support" if WILLOW
648         depends on 6xx
649         default y if TQM8260 || RPX8260 || EST8260 || SBS8260 || SBC82xx
650         help
651           The MPC8260 is a typical embedded CPU made by Motorola.  Selecting
652           this option means that you wish to build a kernel for a machine with
653           an 8260 class CPU.
654
655 config 8272
656         bool
657         depends on 6xx
658         default y if ADS8272
659         select 8260
660         help
661           The MPC8272 CPM has a different internal dpram setup than other CPM2
662           devices
663
664 config CPM2
665         bool
666         depends on 8260 || MPC8560
667         default y
668         help
669           The CPM2 (Communications Processor Module) is a coprocessor on
670           embedded CPUs made by Motorola.  Selecting this option means that
671           you wish to build a kernel for a machine with a CPM2 coprocessor
672           on it (826x, 827x, 8560).
673
674 config PPC_CHRP
675         bool
676         depends on PPC_MULTIPLATFORM
677         default y
678
679 config PPC_PMAC
680         bool
681         depends on PPC_MULTIPLATFORM
682         default y
683
684 config PPC_PMAC64
685         bool
686         depends on PPC_PMAC && POWER4
687         default y
688
689 config PPC_PREP
690         bool
691         depends on PPC_MULTIPLATFORM
692         default y
693
694 config PPC_OF
695         bool
696         depends on PPC_PMAC || PPC_CHRP
697         default y
698
699 config PPC_GEN550
700         bool
701         depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \
702                 PRPMC750 || K2 || PRPMC800 || LOPEC
703         default y
704
705 config FORCE
706         bool
707         depends on 6xx && (PCORE || POWERPMC250)
708         default y
709
710 config GT64260
711         bool
712         depends on EV64260
713         default y
714
715 config NONMONARCH_SUPPORT
716         bool "Enable Non-Monarch Support"
717         depends on PRPMC800
718
719 config HARRIER
720         bool
721         depends on PRPMC800
722         default y
723
724 config EPIC_SERIAL_MODE
725         bool
726         depends on 6xx && (LOPEC || SANDPOINT)
727         default y
728
729 config MPC10X_BRIDGE
730         bool
731         depends on PCORE || POWERPMC250 || LOPEC || SANDPOINT
732         default y
733
734 config FSL_OCP
735         bool
736         depends on MPC10X_BRIDGE || PPC_MPC52xx
737         default y
738
739 config MPC10X_OPENPIC
740         bool
741         depends on POWERPMC250 || LOPEC || SANDPOINT
742         default y
743
744 config MPC10X_STORE_GATHERING
745         bool "Enable MPC10x store gathering"
746         depends on MPC10X_BRIDGE
747
748 config CPC710_DATA_GATHERING
749         bool "Enable CPC710 data gathering"
750         depends on K2
751
752 config HARRIER_STORE_GATHERING
753         bool "Enable Harrier store gathering"
754         depends on HARRIER
755
756 config MVME5100_IPMC761_PRESENT
757         bool "MVME5100 configured with an IPMC761"
758         depends on MVME5100
759
760 config SPRUCE_BAUD_33M
761         bool "Spruce baud clock support"
762         depends on SPRUCE
763
764 config PC_KEYBOARD
765         bool "PC PS/2 style Keyboard"
766         depends on 4xx || CPM2
767
768 config PPCBUG_NVRAM
769         bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
770         default y if PPC_PREP
771
772 config SMP
773         bool "Symmetric multi-processing support"
774         ---help---
775           This enables support for systems with more than one CPU. If you have
776           a system with only one CPU, say N. If you have a system with more
777           than one CPU, say Y.  Note that the kernel does not currently
778           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
779           since they have inadequate hardware support for multiprocessor
780           operation.
781
782           If you say N here, the kernel will run on single and multiprocessor
783           machines, but will use only one CPU of a multiprocessor machine. If
784           you say Y here, the kernel will run on single-processor machines.
785           On a single-processor machine, the kernel will run faster if you say
786           N here.
787
788           If you don't know what to do here, say N.
789
790 config IRQ_ALL_CPUS
791         bool "Distribute interrupts on all CPUs by default"
792         depends on SMP
793         help
794           This option gives the kernel permission to distribute IRQs across
795           multiple CPUs.  Saying N here will route all IRQs to the first
796           CPU.  Generally saying Y is safe, although some problems have been
797           reported with SMP Power Macintoshes with this option enabled.
798
799 config NR_CPUS
800         int "Maximum number of CPUs (2-32)"
801         range 2 32
802         depends on SMP
803         default "4"
804
805 config PREEMPT
806         bool "Preemptible Kernel"
807         help
808           This option reduces the latency of the kernel when reacting to
809           real-time or interactive events by allowing a low priority process to
810           be preempted even if it is in kernel mode executing a system call.
811
812           Say Y here if you are building a kernel for a desktop, embedded
813           or real-time system.  Say N if you are unsure.
814
815 config HIGHMEM
816         bool "High memory support"
817
818 source "fs/Kconfig.binfmt"
819
820 config PROC_DEVICETREE
821         bool "Support for Open Firmware device tree in /proc"
822         depends on PPC_OF && PROC_FS
823         help
824           This option adds a device-tree directory under /proc which contains
825           an image of the device tree that the kernel copies from Open
826           Firmware. If unsure, say Y here.
827
828 config PREP_RESIDUAL
829         bool "Support for PReP Residual Data"
830         depends on PPC_PREP
831         help
832           Some PReP systems have residual data passed to the kernel by the
833           firmware.  This allows detection of memory size, devices present and
834           other useful pieces of information.  Sometimes this information is
835           not present or incorrect, in which case it could lead to the machine 
836           behaving incorrectly.  If this happens, either disable PREP_RESIDUAL
837           or pass the 'noresidual' option to the kernel.
838
839           If you are running a PReP system, say Y here, otherwise say N.
840
841 config PROC_PREPRESIDUAL
842         bool "Support for reading of PReP Residual Data in /proc"
843         depends on PREP_RESIDUAL && PROC_FS
844         help
845           Enabling this option will create a /proc/residual file which allows
846           you to get at the residual data on PReP systems.  You will need a tool
847           (lsresidual) to parse it.  If you aren't on a PReP system, you don't
848           want this.
849
850 config CMDLINE_BOOL
851         bool "Default bootloader kernel arguments"
852
853 config CMDLINE
854         string "Initial kernel command string"
855         depends on CMDLINE_BOOL
856         default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
857         help
858           On some platforms, there is currently no way for the boot loader to
859           pass arguments to the kernel. For these platforms, you can supply
860           some command-line options at build time by entering them here.  In
861           most cases you will need to specify the root device here.
862
863 config AMIGA
864         bool
865         depends on APUS
866         default y
867         help
868           This option enables support for the Amiga series of computers.
869
870 config ZORRO
871         bool
872         depends on APUS
873         default y
874         help
875           This enables support for the Zorro bus in the Amiga. If you have
876           expansion cards in your Amiga that conform to the Amiga
877           AutoConfig(tm) specification, say Y, otherwise N. Note that even
878           expansion cards that do not fit in the Zorro slots but fit in e.g.
879           the CPU slot may fall in this category, so you have to say Y to let
880           Linux use these.
881
882 config ABSTRACT_CONSOLE
883         bool
884         depends on APUS
885         default y
886
887 config APUS_FAST_EXCEPT
888         bool
889         depends on APUS
890         default y
891
892 config AMIGA_PCMCIA
893         bool "Amiga 1200/600 PCMCIA support"
894         depends on APUS && EXPERIMENTAL
895         help
896           Include support in the kernel for pcmcia on Amiga 1200 and Amiga
897           600. If you intend to use pcmcia cards say Y; otherwise say N.
898
899 config AMIGA_BUILTIN_SERIAL
900         tristate "Amiga builtin serial support"
901         depends on APUS
902         help
903           If you want to use your Amiga's built-in serial port in Linux,
904           answer Y.
905
906           To compile this driver as a module, choose M here.
907
908 config GVPIOEXT
909         tristate "GVP IO-Extender support"
910         depends on APUS
911         help
912           If you want to use a GVP IO-Extender serial card in Linux, say Y.
913           Otherwise, say N.
914
915 config GVPIOEXT_LP
916         tristate "GVP IO-Extender parallel printer support"
917         depends on GVPIOEXT
918         help
919           Say Y to enable driving a printer from the parallel port on your
920           GVP IO-Extender card, N otherwise.
921
922 config GVPIOEXT_PLIP
923         tristate "GVP IO-Extender PLIP support"
924         depends on GVPIOEXT
925         help
926           Say Y to enable doing IP over the parallel port on your GVP
927           IO-Extender card, N otherwise.
928
929 config MULTIFACE_III_TTY
930         tristate "Multiface Card III serial support"
931         depends on APUS
932         help
933           If you want to use a Multiface III card's serial port in Linux,
934           answer Y.
935
936           To compile this driver as a module, choose M here.
937
938 config A2232
939         tristate "Commodore A2232 serial support (EXPERIMENTAL)"
940         depends on EXPERIMENTAL && APUS
941         ---help---
942           This option supports the 2232 7-port serial card shipped with the
943           Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
944           a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
945           each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
946           ports were connected with 8 pin DIN connectors on the card bracket,
947           for which 8 pin to DB25 adapters were supplied. The card also had
948           jumpers internally to toggle various pinning configurations.
949
950           This driver can be built as a module; but then "generic_serial"
951           will also be built as a module. This has to be loaded before
952           "ser_a2232". If you want to do this, answer M here.
953
954 config WHIPPET_SERIAL
955         tristate "Hisoft Whippet PCMCIA serial support"
956         depends on AMIGA_PCMCIA
957         help
958           HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
959           is no listing for the Whippet in their Amiga section.
960
961 config APNE
962         tristate "PCMCIA NE2000 support"
963         depends on AMIGA_PCMCIA
964         help
965           If you have a PCMCIA NE2000 compatible adapter, say Y.  Otherwise,
966           say N.
967
968           To compile this driver as a module, choose M here: the
969           module will be called apne.
970
971 config SERIAL_CONSOLE
972         bool "Support for serial port console"
973         depends on APUS && (AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y)
974
975 config HEARTBEAT
976         bool "Use power LED as a heartbeat"
977         depends on APUS
978         help
979           Use the power-on LED on your machine as a load meter.  The exact
980           behavior is platform-dependent, but normally the flash frequency is
981           a hyperbolic function of the 5-minute load average.
982
983 config PROC_HARDWARE
984         bool "/proc/hardware support"
985         depends on APUS
986
987 source "drivers/zorro/Kconfig"
988
989 endmenu
990
991 menu "Bus options"
992
993 config ISA
994         bool "Support for ISA-bus hardware"
995         depends on PPC_PREP || PPC_CHRP
996         help
997           Find out whether you have ISA slots on your motherboard.  ISA is the
998           name of a bus system, i.e. the way the CPU talks to the other stuff
999           inside your box.  If you have an Apple machine, say N here; if you
1000           have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
1001           you have an embedded board, consult your board documentation.
1002
1003 config GENERIC_ISA_DMA
1004         bool
1005         depends on POWER3 || POWER4 || 6xx && !CPM2
1006         default y
1007
1008 config EISA
1009         bool
1010         help
1011           The Extended Industry Standard Architecture (EISA) bus is a bus
1012           architecture used on some older intel-based PCs.
1013
1014 config SBUS
1015         bool
1016
1017 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
1018 config MCA
1019         bool
1020
1021 config PCI
1022         bool "PCI support" if 40x || CPM2 || 85xx
1023         default y if !40x && !CPM2 && !8xx && !APUS && !85xx
1024         default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
1025         default PCI_QSPAN if !4xx && !CPM2 && 8xx
1026         help
1027           Find out whether your system includes a PCI bus. PCI is the name of
1028           a bus system, i.e. the way the CPU talks to the other stuff inside
1029           your box.  If you say Y here, the kernel will include drivers and
1030           infrastructure code to support PCI bus devices.
1031
1032 config PCI_DOMAINS
1033         bool
1034         default PCI
1035
1036 config PCI_QSPAN
1037         bool "QSpan PCI"
1038         depends on !4xx && !CPM2 && 8xx
1039         help
1040           Say Y here if you have a system based on a Motorola 8xx-series
1041           embedded processor with a QSPAN PCI interface, otherwise say N.
1042
1043 config PCI_8260
1044         bool
1045         depends on PCI && 8260 && !8272
1046         default y
1047
1048 config 8260_PCI9
1049         bool "  Enable workaround for MPC826x erratum PCI 9"
1050         depends on PCI_8260
1051         default y
1052
1053 choice
1054         prompt "  IDMA channel for PCI 9 workaround"
1055         depends on 8260_PCI9
1056
1057 config 8260_PCI9_IDMA1
1058         bool "IDMA1"
1059
1060 config 8260_PCI9_IDMA2
1061         bool "IDMA2"
1062
1063 config 8260_PCI9_IDMA3
1064         bool "IDMA3"
1065
1066 config 8260_PCI9_IDMA4
1067         bool "IDMA4"
1068
1069 endchoice
1070
1071 config PCI_PERMEDIA
1072         bool "PCI for Permedia2"
1073         depends on !4xx && !8xx && APUS
1074
1075 source "drivers/pci/Kconfig"
1076
1077 source "drivers/pcmcia/Kconfig"
1078
1079 endmenu
1080
1081 menu "Advanced setup"
1082
1083 config ADVANCED_OPTIONS
1084         bool "Prompt for advanced kernel configuration options"
1085         help
1086           This option will enable prompting for a variety of advanced kernel
1087           configuration options.  These options can cause the kernel to not
1088           work if they are set incorrectly, but can be used to optimize certain
1089           aspects of kernel memory management.
1090
1091           Unless you know what you are doing, say N here.
1092
1093 comment "Default settings for advanced configuration options are used"
1094         depends on !ADVANCED_OPTIONS
1095
1096 config HIGHMEM_START_BOOL
1097         bool "Set high memory pool address"
1098         depends on ADVANCED_OPTIONS && HIGHMEM
1099         help
1100           This option allows you to set the base address of the kernel virtual
1101           area used to map high memory pages.  This can be useful in
1102           optimizing the layout of kernel virtual memory.
1103
1104           Say N here unless you know what you are doing.
1105
1106 config HIGHMEM_START
1107         hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1108         default "0xfe000000"
1109
1110 config LOWMEM_SIZE_BOOL
1111         bool "Set maximum low memory"
1112         depends on ADVANCED_OPTIONS
1113         help
1114           This option allows you to set the maximum amount of memory which
1115           will be used as "low memory", that is, memory which the kernel can
1116           access directly, without having to set up a kernel virtual mapping.
1117           This can be useful in optimizing the layout of kernel virtual
1118           memory.
1119
1120           Say N here unless you know what you are doing.
1121
1122 config LOWMEM_SIZE
1123         hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1124         default "0x30000000"
1125
1126 config KERNEL_START_BOOL
1127         bool "Set custom kernel base address"
1128         depends on ADVANCED_OPTIONS
1129         help
1130           This option allows you to set the kernel virtual address at which
1131           the kernel will map low memory (the kernel image will be linked at
1132           this address).  This can be useful in optimizing the virtual memory
1133           layout of the system.
1134
1135           Say N here unless you know what you are doing.
1136
1137 config KERNEL_START
1138         hex "Virtual address of kernel base" if KERNEL_START_BOOL
1139         default "0xc0000000"
1140
1141 config TASK_SIZE_BOOL
1142         bool "Set custom user task size"
1143         depends on ADVANCED_OPTIONS
1144         help
1145           This option allows you to set the amount of virtual address space
1146           allocated to user tasks.  This can be useful in optimizing the
1147           virtual memory layout of the system.
1148
1149           Say N here unless you know what you are doing.
1150
1151 config TASK_SIZE
1152         hex "Size of user task space" if TASK_SIZE_BOOL
1153         default "0x80000000"
1154
1155 config CONSISTENT_START_BOOL
1156         bool "Set custom consistent memory pool address"
1157         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1158         help
1159           This option allows you to set the base virtual address
1160           of the the consistent memory pool.  This pool of virtual
1161           memory is used to make consistent memory allocations.
1162
1163 config CONSISTENT_START
1164         hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1165         default "0xff100000" if NOT_COHERENT_CACHE
1166
1167 config CONSISTENT_SIZE_BOOL
1168         bool "Set custom consistent memory pool size"
1169         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1170         help
1171           This option allows you to set the size of the the
1172           consistent memory pool.  This pool of virtual memory
1173           is used to make consistent memory allocations.
1174
1175 config CONSISTENT_SIZE
1176         hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1177         default "0x00200000" if NOT_COHERENT_CACHE
1178
1179 config BOOT_LOAD_BOOL
1180         bool "Set the boot link/load address"
1181         depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1182         help
1183           This option allows you to set the initial load address of the zImage
1184           or zImage.initrd file.  This can be useful if you are on a board
1185           which has a small amount of memory.
1186
1187           Say N here unless you know what you are doing.
1188
1189 config BOOT_LOAD
1190         hex "Link/load address for booting" if BOOT_LOAD_BOOL
1191         default "0x00400000" if 40x || 8xx || 8260
1192         default "0x01000000" if 44x
1193         default "0x00800000"
1194
1195 config PIN_TLB
1196         bool "Pinned Kernel TLBs (860 ONLY)"
1197         depends on ADVANCED_OPTIONS && 8xx
1198 endmenu
1199
1200 source "drivers/Kconfig"
1201
1202 source "fs/Kconfig"
1203
1204 source "arch/ppc/8xx_io/Kconfig"
1205
1206 source "arch/ppc/8260_io/Kconfig"
1207
1208
1209 menu "IBM 40x options"
1210         depends on 40x
1211
1212 config SERIAL_SICC
1213         bool "SICC Serial port"
1214         depends on STB03xxx
1215
1216 config UART1_DFLT_CONSOLE
1217         bool
1218         depends on SERIAL_SICC && UART0_TTYS1
1219         default y
1220
1221 config SERIAL_SICC_CONSOLE
1222         bool
1223         depends on SERIAL_SICC && UART0_TTYS1
1224         default y
1225
1226 endmenu
1227
1228 source "lib/Kconfig"
1229
1230 source "arch/ppc/oprofile/Kconfig"
1231
1232 source "arch/ppc/Kconfig.debug"
1233
1234 source "kernel/vserver/Kconfig"
1235
1236 source "security/Kconfig"
1237
1238 source "crypto/Kconfig"