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