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