da5c9e5fe6a1dd015b658d93f99801dcb86d39dc
[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/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, 8260), the IBM embedded versions
52           (403 and 405) and the high end 64 bit Power processors (POWER 3,
53           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 82xx family has a 603e core, specific
58           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 linux/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 RPX6
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 endchoice
605
606 config PQ2ADS
607         bool
608         depends on ADS8272
609         default y
610
611 config TQM8xxL
612         bool
613         depends on 8xx && (TQM823L || TQM850L || FPS850L || TQM855L || TQM860L || SM850)
614         default y
615
616 config EMBEDDEDBOOT
617         bool
618         depends on 8xx || 8260
619         default y
620
621 config 8260
622         bool "CPM2 Support" if WILLOW
623         depends on 6xx
624         default y if TQM8260 || RPXSUPER || EST8260 || SBS8260 || SBC82xx
625         help
626           The MPC8260 is a typical embedded CPU made by Motorola.  Selecting
627           this option means that you wish to build a kernel for a machine with
628           an 8260 class CPU.
629
630 config 8272
631         bool
632         depends on 6xx
633         default y if ADS8272
634         select 8260
635         help
636           The MPC8272 CPM has a different internal dpram setup than other CPM2
637           devices
638
639 config CPM2
640         bool
641         depends on 8260
642         default y
643         help
644           The CPM2 (Communications Processor Module) is a coprocessor on
645           embedded CPUs made by Motorola.  Selecting this option means that
646           you wish to build a kernel for a machine with a CPM2 coprocessor
647           on it (826x, 827x, 8560).
648
649 config PPC_CHRP
650         bool
651         depends on PPC_MULTIPLATFORM
652         default y
653
654 config PPC_PMAC
655         bool
656         depends on PPC_MULTIPLATFORM
657         default y
658
659 config PPC_PMAC64
660         bool
661         depends on PPC_PMAC && POWER4
662         default y
663
664 config PPC_PREP
665         bool
666         depends on PPC_MULTIPLATFORM
667         default y
668
669 config PPC_OF
670         bool
671         depends on PPC_PMAC || PPC_CHRP
672         default y
673
674 config PPC_GEN550
675         bool
676         depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || PRPMC750 || K2 || PRPMC800
677         default y
678
679 config FORCE
680         bool
681         depends on 6xx && (PCORE || POWERPMC250)
682         default y
683
684 config GT64260
685         bool
686         depends on EV64260
687         default y
688
689 config NONMONARCH_SUPPORT
690         bool "Enable Non-Monarch Support"
691         depends on PRPMC800
692
693 config HARRIER
694         bool
695         depends on PRPMC800
696         default y
697
698 config EPIC_SERIAL_MODE
699         bool
700         depends on 6xx && (LOPEC || SANDPOINT)
701         default y
702
703 config MPC10X_BRIDGE
704         bool
705         depends on PCORE || POWERPMC250 || LOPEC || SANDPOINT
706         default y
707
708 config FSL_OCP
709         bool
710         depends on MPC10X_BRIDGE
711         default y
712
713 config MPC10X_OPENPIC
714         bool
715         depends on POWERPMC250 || LOPEC || SANDPOINT
716         default y
717
718 config MPC10X_STORE_GATHERING
719         bool "Enable MPC10x store gathering"
720         depends on MPC10X_BRIDGE
721
722 config CPC710_DATA_GATHERING
723         bool "Enable CPC710 data gathering"
724         depends on K2
725
726 config HARRIER_STORE_GATHERING
727         bool "Enable Harrier store gathering"
728         depends on HARRIER
729
730 config MVME5100_IPMC761_PRESENT
731         bool "MVME5100 configured with an IPMC761"
732         depends on MVME5100
733
734 config SPRUCE_BAUD_33M
735         bool "Spruce baud clock support"
736         depends on SPRUCE
737
738 config PC_KEYBOARD
739         bool "PC PS/2 style Keyboard"
740         depends on 4xx || CPM2
741
742 config SERIAL_CONSOLE
743         bool
744         depends on 8xx
745         default y
746
747 config SERIAL_CONSOLE_BAUD
748         int
749         depends on EV64260
750         default "115200"
751
752 config PPCBUG_NVRAM
753         bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
754         default y if PPC_PREP
755
756 config SMP
757         bool "Symmetric multi-processing support"
758         ---help---
759           This enables support for systems with more than one CPU. If you have
760           a system with only one CPU, say N. If you have a system with more
761           than one CPU, say Y.  Note that the kernel does not currently
762           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
763           since they have inadequate hardware support for multiprocessor
764           operation.
765
766           If you say N here, the kernel will run on single and multiprocessor
767           machines, but will use only one CPU of a multiprocessor machine. If
768           you say Y here, the kernel will run on single-processor machines.
769           On a single-processor machine, the kernel will run faster if you say
770           N here.
771
772           If you don't know what to do here, say N.
773
774 config IRQ_ALL_CPUS
775         bool "Distribute interrupts on all CPUs by default"
776         depends on SMP
777         help
778           This option gives the kernel permission to distribute IRQs across
779           multiple CPUs.  Saying N here will route all IRQs to the first
780           CPU.  Generally saying Y is safe, although some problems have been
781           reported with SMP Power Macintoshes with this option enabled.
782
783 config NR_CPUS
784         int "Maximum number of CPUs (2-32)"
785         range 2 32
786         depends on SMP
787         default "4"
788
789 config PREEMPT
790         bool "Preemptible Kernel"
791         help
792           This option reduces the latency of the kernel when reacting to
793           real-time or interactive events by allowing a low priority process to
794           be preempted even if it is in kernel mode executing a system call.
795
796           Say Y here if you are building a kernel for a desktop, embedded
797           or real-time system.  Say N if you are unsure.
798
799 config HIGHMEM
800         bool "High memory support"
801
802 config KERNEL_ELF
803         bool
804         default y
805
806 source "fs/Kconfig.binfmt"
807
808 config PROC_DEVICETREE
809         bool "Support for Open Firmware device tree in /proc"
810         depends on PPC_OF && PROC_FS
811         help
812           This option adds a device-tree directory under /proc which contains
813           an image of the device tree that the kernel copies from Open
814           Firmware. If unsure, say Y here.
815
816 config PPC_RTAS
817         bool "Support for RTAS (RunTime Abstraction Services) in /proc"
818         depends on PPC_OF && PROC_FS
819         ---help---
820           When you use this option, you will be able to use RTAS from
821           userspace.
822
823           RTAS stands for RunTime Abstraction Services and should
824           provide a portable way to access and set system information. This is
825           commonly used on RS/6000 (pSeries) computers.
826
827           You can access RTAS via the special proc file system entry rtas.
828           Don't confuse this rtas entry with the one in /proc/device-tree/rtas
829           which is readonly.
830
831           If you don't know if you can use RTAS look into
832           /proc/device-tree/rtas. If there are some entries, it is very likely
833           that you will be able to use RTAS.
834
835           You can do cool things with rtas. To print out information about
836           various sensors in the system, just do a
837
838           $ cat /proc/rtas/sensors
839
840           or if you power off your machine at night but want it running when
841           you enter your office at 7:45 am, do a
842
843           # date -d 'tomorrow 7:30' +%s > /proc/rtas/poweron
844
845           and shutdown.
846
847           If unsure, say Y.
848
849 config PREP_RESIDUAL
850         bool "Support for PReP Residual Data"
851         depends on PPC_PREP
852         help
853           Some PReP systems have residual data passed to the kernel by the
854           firmware.  This allows detection of memory size, devices present and
855           other useful pieces of information.  Sometimes this information is
856           not present or incorrect.
857
858           Unless you expect to boot on a PReP system, there is no need to
859           select Y.
860
861 config PROC_PREPRESIDUAL
862         bool "Support for reading of PReP Residual Data in /proc"
863         depends on PREP_RESIDUAL && PROC_FS
864         help
865           Enabling this option will create a /proc/residual file which allows
866           you to get at the residual data on PReP systems.  You will need a tool
867           (lsresidual) to parse it.  If you aren't on a PReP system, you don't
868           want this.
869
870 config CMDLINE_BOOL
871         bool "Default bootloader kernel arguments"
872
873 config CMDLINE
874         string "Initial kernel command string"
875         depends on CMDLINE_BOOL
876         default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
877         help
878           On some platforms, there is currently no way for the boot loader to
879           pass arguments to the kernel. For these platforms, you can supply
880           some command-line options at build time by entering them here.  In
881           most cases you will need to specify the root device here.
882
883 config AMIGA
884         bool
885         depends on APUS
886         default y
887         help
888           This option enables support for the Amiga series of computers.
889
890 config ZORRO
891         bool
892         depends on APUS
893         default y
894         help
895           This enables support for the Zorro bus in the Amiga. If you have
896           expansion cards in your Amiga that conform to the Amiga
897           AutoConfig(tm) specification, say Y, otherwise N. Note that even
898           expansion cards that do not fit in the Zorro slots but fit in e.g.
899           the CPU slot may fall in this category, so you have to say Y to let
900           Linux use these.
901
902 config ABSTRACT_CONSOLE
903         bool
904         depends on APUS
905         default y
906
907 config APUS_FAST_EXCEPT
908         bool
909         depends on APUS
910         default y
911
912 config AMIGA_PCMCIA
913         bool "Amiga 1200/600 PCMCIA support"
914         depends on APUS && EXPERIMENTAL
915         help
916           Include support in the kernel for pcmcia on Amiga 1200 and Amiga
917           600. If you intend to use pcmcia cards say Y; otherwise say N.
918
919 config AMIGA_BUILTIN_SERIAL
920         tristate "Amiga builtin serial support"
921         depends on APUS
922         help
923           If you want to use your Amiga's built-in serial port in Linux,
924           answer Y.
925
926           To compile this driver as a module, choose M here.
927
928 config GVPIOEXT
929         tristate "GVP IO-Extender support"
930         depends on APUS
931         help
932           If you want to use a GVP IO-Extender serial card in Linux, say Y.
933           Otherwise, say N.
934
935 config GVPIOEXT_LP
936         tristate "GVP IO-Extender parallel printer support"
937         depends on GVPIOEXT
938         help
939           Say Y to enable driving a printer from the parallel port on your
940           GVP IO-Extender card, N otherwise.
941
942 config GVPIOEXT_PLIP
943         tristate "GVP IO-Extender PLIP support"
944         depends on GVPIOEXT
945         help
946           Say Y to enable doing IP over the parallel port on your GVP
947           IO-Extender card, N otherwise.
948
949 config MULTIFACE_III_TTY
950         tristate "Multiface Card III serial support"
951         depends on APUS
952         help
953           If you want to use a Multiface III card's serial port in Linux,
954           answer Y.
955
956           To compile this driver as a module, choose M here.
957
958 config A2232
959         tristate "Commodore A2232 serial support (EXPERIMENTAL)"
960         depends on EXPERIMENTAL && APUS
961         ---help---
962           This option supports the 2232 7-port serial card shipped with the
963           Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
964           a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
965           each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
966           ports were connected with 8 pin DIN connectors on the card bracket,
967           for which 8 pin to DB25 adapters were supplied. The card also had
968           jumpers internally to toggle various pinning configurations.
969
970           This driver can be built as a module; but then "generic_serial"
971           will also be built as a module. This has to be loaded before
972           "ser_a2232". If you want to do this, answer M here.
973
974 config WHIPPET_SERIAL
975         tristate "Hisoft Whippet PCMCIA serial support"
976         depends on AMIGA_PCMCIA
977         help
978           HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
979           is no listing for the Whippet in their Amiga section.
980
981 config APNE
982         tristate "PCMCIA NE2000 support"
983         depends on AMIGA_PCMCIA
984         help
985           If you have a PCMCIA NE2000 compatible adapter, say Y.  Otherwise,
986           say N.
987
988           To compile this driver as a module, choose M here: the
989           module will be called apne.
990
991 config SERIAL_CONSOLE
992         bool "Support for serial port console"
993         depends on APUS && (AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y)
994
995 config HEARTBEAT
996         bool "Use power LED as a heartbeat"
997         depends on APUS
998         help
999           Use the power-on LED on your machine as a load meter.  The exact
1000           behavior is platform-dependent, but normally the flash frequency is
1001           a hyperbolic function of the 5-minute load average.
1002
1003 config PROC_HARDWARE
1004         bool "/proc/hardware support"
1005         depends on APUS
1006
1007 source "drivers/zorro/Kconfig"
1008
1009 endmenu
1010
1011 menu "Bus options"
1012
1013 config ISA
1014         bool "Support for ISA-bus hardware"
1015         depends on PPC_PREP || PPC_CHRP
1016         help
1017           Find out whether you have ISA slots on your motherboard.  ISA is the
1018           name of a bus system, i.e. the way the CPU talks to the other stuff
1019           inside your box.  If you have an Apple machine, say N here; if you
1020           have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
1021           you have an embedded board, consult your board documentation.
1022
1023 config GENERIC_ISA_DMA
1024         bool
1025         depends on POWER3 || POWER4 || 6xx && !CPM2
1026         default y
1027
1028 config EISA
1029         bool
1030         help
1031           The Extended Industry Standard Architecture (EISA) bus is a bus
1032           architecture used on some older intel-based PCs.
1033
1034 config SBUS
1035         bool
1036
1037 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
1038 config MCA
1039         bool
1040
1041 config PCI
1042         bool "PCI support" if 40x || CPM2 || 85xx
1043         default y if !40x && !CPM2 && !8xx && !APUS && !85xx
1044         default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
1045         default PCI_QSPAN if !4xx && !CPM2 && 8xx
1046         help
1047           Find out whether your system includes a PCI bus. PCI is the name of
1048           a bus system, i.e. the way the CPU talks to the other stuff inside
1049           your box.  If you say Y here, the kernel will include drivers and
1050           infrastructure code to support PCI bus devices.
1051
1052 config PCI_DOMAINS
1053         bool
1054         default PCI
1055
1056 config PCI_QSPAN
1057         bool "QSpan PCI"
1058         depends on !4xx && !CPM2 && 8xx
1059         help
1060           Say Y here if you have a system based on a Motorola 8xx-series
1061           embedded processor with a QSPAN PCI interface, otherwise say N.
1062
1063 config PCI_8260
1064         bool
1065         depends on PCI && 8260 && !8272
1066         default y
1067         
1068 config 8260_PCI9
1069         bool "  Enable workaround for MPC826x erratum PCI 9"
1070         depends on PCI_8260
1071         default y
1072
1073 choice 
1074         prompt "  IDMA channel for PCI 9 workaround"
1075         depends on 8260_PCI9
1076
1077 config 8260_PCI9_IDMA1
1078         bool "IDMA1"
1079
1080 config 8260_PCI9_IDMA2
1081         bool "IDMA2"
1082
1083 config 8260_PCI9_IDMA3
1084         bool "IDMA3"
1085
1086 config 8260_PCI9_IDMA4
1087         bool "IDMA4"
1088
1089 endchoice
1090
1091 config PCI_PERMEDIA
1092         bool "PCI for Permedia2"
1093         depends on !4xx && !8xx && APUS
1094
1095 source "drivers/pci/Kconfig"
1096
1097 source "drivers/pcmcia/Kconfig"
1098
1099 endmenu
1100
1101 menu "Advanced setup"
1102
1103 config ADVANCED_OPTIONS
1104         bool "Prompt for advanced kernel configuration options"
1105         help
1106           This option will enable prompting for a variety of advanced kernel
1107           configuration options.  These options can cause the kernel to not
1108           work if they are set incorrectly, but can be used to optimize certain
1109           aspects of kernel memory management.
1110
1111           Unless you know what you are doing, say N here.
1112
1113 comment "Default settings for advanced configuration options are used"
1114         depends on !ADVANCED_OPTIONS
1115
1116 config HIGHMEM_START_BOOL
1117         bool "Set high memory pool address"
1118         depends on ADVANCED_OPTIONS && HIGHMEM
1119         help
1120           This option allows you to set the base address of the kernel virtual
1121           area used to map high memory pages.  This can be useful in
1122           optimizing the layout of kernel virtual memory.
1123
1124           Say N here unless you know what you are doing.
1125
1126 config HIGHMEM_START
1127         hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1128         default "0xfe000000"
1129
1130 config LOWMEM_SIZE_BOOL
1131         bool "Set maximum low memory"
1132         depends on ADVANCED_OPTIONS
1133         help
1134           This option allows you to set the maximum amount of memory which
1135           will be used as "low memory", that is, memory which the kernel can
1136           access directly, without having to set up a kernel virtual mapping.
1137           This can be useful in optimizing the layout of kernel virtual
1138           memory.
1139
1140           Say N here unless you know what you are doing.
1141
1142 config LOWMEM_SIZE
1143         hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1144         default "0x30000000"
1145
1146 config KERNEL_START_BOOL
1147         bool "Set custom kernel base address"
1148         depends on ADVANCED_OPTIONS
1149         help
1150           This option allows you to set the kernel virtual address at which
1151           the kernel will map low memory (the kernel image will be linked at
1152           this address).  This can be useful in optimizing the virtual memory
1153           layout of the system.
1154
1155           Say N here unless you know what you are doing.
1156
1157 config KERNEL_START
1158         hex "Virtual address of kernel base" if KERNEL_START_BOOL
1159         default "0xc0000000"
1160
1161 config TASK_SIZE_BOOL
1162         bool "Set custom user task size"
1163         depends on ADVANCED_OPTIONS
1164         help
1165           This option allows you to set the amount of virtual address space
1166           allocated to user tasks.  This can be useful in optimizing the
1167           virtual memory layout of the system.
1168
1169           Say N here unless you know what you are doing.
1170
1171 config TASK_SIZE
1172         hex "Size of user task space" if TASK_SIZE_BOOL
1173         default "0x80000000"
1174
1175 config CONSISTENT_START_BOOL
1176         bool "Set custom consistent memory pool address"
1177         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1178         help
1179           This option allows you to set the base virtual address
1180           of the the consistent memory pool.  This pool of virtual
1181           memory is used to make consistent memory allocations.
1182
1183 config CONSISTENT_START
1184         hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1185         default "0xff100000" if NOT_COHERENT_CACHE
1186
1187 config CONSISTENT_SIZE_BOOL
1188         bool "Set custom consistent memory pool size"
1189         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1190         help
1191           This option allows you to set the size of the the
1192           consistent memory pool.  This pool of virtual memory
1193           is used to make consistent memory allocations.
1194
1195 config CONSISTENT_SIZE
1196         hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1197         default "0x00200000" if NOT_COHERENT_CACHE
1198
1199 config BOOT_LOAD_BOOL
1200         bool "Set the boot link/load address"
1201         depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1202         help
1203           This option allows you to set the initial load address of the zImage
1204           or zImage.initrd file.  This can be useful if you are on a board
1205           which has a small amount of memory.
1206
1207           Say N here unless you know what you are doing.
1208
1209 config BOOT_LOAD
1210         hex "Link/load address for booting" if BOOT_LOAD_BOOL
1211         default "0x00400000" if 40x || 8xx || 8260
1212         default "0x01000000" if 44x
1213         default "0x00800000"
1214
1215 config PIN_TLB
1216         bool "Pinned Kernel TLBs (860 ONLY)"
1217         depends on ADVANCED_OPTIONS && 8xx
1218 endmenu
1219
1220 source "drivers/Kconfig"
1221
1222 source "fs/Kconfig"
1223
1224 source "arch/ppc/8xx_io/Kconfig"
1225
1226 source "arch/ppc/8260_io/Kconfig"
1227
1228
1229 menu "IBM 40x options"
1230         depends on 40x
1231
1232 config SERIAL_SICC
1233         bool "SICC Serial port"
1234         depends on STB03xxx
1235
1236 config UART1_DFLT_CONSOLE
1237         bool
1238         depends on SERIAL_SICC && UART0_TTYS1
1239         default y
1240
1241 config SERIAL_SICC_CONSOLE
1242         bool
1243         depends on SERIAL_SICC && UART0_TTYS1
1244         default y
1245
1246 endmenu
1247
1248 source "lib/Kconfig"
1249
1250 source "arch/ppc/oprofile/Kconfig"
1251
1252 menu "Kernel hacking"
1253
1254 config DEBUG_KERNEL
1255         bool "Kernel debugging"
1256
1257 config DEBUG_SLAB
1258         bool "Debug memory allocations"
1259         depends on DEBUG_KERNEL
1260
1261 config MAGIC_SYSRQ
1262         bool "Magic SysRq key"
1263         depends on DEBUG_KERNEL
1264         help
1265           If you say Y here, you will have some control over the system even
1266           if the system crashes for example during kernel debugging (e.g., you
1267           will be able to flush the buffer cache to disk, reboot the system
1268           immediately or dump some status information). This is accomplished
1269           by pressing various keys while holding SysRq (Alt+PrintScreen). It
1270           also works on a serial console (on PC hardware at least), if you
1271           send a BREAK and then within 5 seconds a command keypress. The
1272           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
1273           unless you really know what this hack does.
1274
1275 config DEBUG_SPINLOCK
1276         bool "Spinlock debugging"
1277         depends on DEBUG_KERNEL
1278         help
1279           Say Y here and to CONFIG_SMP to include code to check for missing
1280           spinlock initialization and some other common spinlock errors.
1281
1282 config DEBUG_HIGHMEM
1283         bool "Highmem debugging"
1284         depends on DEBUG_KERNEL && HIGHMEM
1285         help
1286           This options enables additional error checking for high memory
1287           systems.  Disable for production systems.
1288
1289 config DEBUG_SPINLOCK_SLEEP
1290         bool "Sleep-inside-spinlock checking"
1291         depends on DEBUG_KERNEL
1292         help
1293           If you say Y here, various routines which may sleep will become very
1294           noisy if they are called with a spinlock held.
1295
1296 config KGDB
1297         bool "Include kgdb kernel debugger"
1298         depends on DEBUG_KERNEL
1299         select DEBUG_INFO
1300         help
1301           Include in-kernel hooks for kgdb, the Linux kernel source level
1302           debugger.  See <http://kgdb.sourceforge.net/> for more information.
1303           Unless you are intending to debug the kernel, say N here.
1304
1305 choice
1306         prompt "Serial Port"
1307         depends on KGDB
1308         default KGDB_TTYS1
1309
1310 config KGDB_TTYS0
1311         bool "ttyS0"
1312
1313 config KGDB_TTYS1
1314         bool "ttyS1"
1315
1316 config KGDB_TTYS2
1317         bool "ttyS2"
1318
1319 config KGDB_TTYS3
1320         bool "ttyS3"
1321
1322 endchoice
1323
1324 config KGDB_CONSOLE
1325         bool "Enable serial console thru kgdb port"
1326         depends on KGDB && 8xx || CPM2
1327         help
1328           If you enable this, all serial console messages will be sent
1329           over the gdb stub.
1330           If unsure, say N.
1331
1332 config XMON
1333         bool "Include xmon kernel debugger"
1334         depends on DEBUG_KERNEL
1335         help
1336           Include in-kernel hooks for the xmon kernel monitor/debugger.
1337           Unless you are intending to debug the kernel, say N here.
1338
1339 config BDI_SWITCH
1340         bool "Include BDI-2000 user context switcher"
1341         depends on DEBUG_KERNEL
1342         help
1343           Include in-kernel support for the Abatron BDI2000 debugger.
1344           Unless you are intending to debug the kernel with one of these
1345           machines, say N here.
1346
1347 config DEBUG_INFO
1348         bool "Compile the kernel with debug info"
1349         depends on DEBUG_KERNEL
1350         help
1351           If you say Y here the resulting kernel image will include
1352           debugging info resulting in a larger kernel image.
1353           Say Y here only if you plan to use some sort of debugger to
1354           debug the kernel.
1355           If you don't debug the kernel, you can say N.
1356
1357 config BOOTX_TEXT
1358         bool "Support for early boot text console (BootX or OpenFirmware only)"
1359         depends PPC_OF
1360         help
1361           Say Y here to see progress messages from the boot firmware in text
1362           mode. Requires either BootX or Open Firmware.
1363
1364 config SERIAL_TEXT_DEBUG
1365         bool "Support for early boot texts over serial port"
1366         depends on 4xx || GT64260 || LOPEC || PPLUS || PRPMC800 || PPC_GEN550
1367
1368 config PPC_OCP
1369         bool
1370         depends on IBM_OCP || FSL_OCP
1371         default y
1372
1373 endmenu
1374
1375 source "kernel/vserver/Kconfig"
1376
1377 source "security/Kconfig"
1378
1379 source "crypto/Kconfig"