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