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