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