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