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