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