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