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