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