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