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