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