blob: fb0dcb994b84a62bdcac7963f8f8ed90559801c1 [file] [log] [blame]
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001# 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 PPC64
8 bool "64-bit kernel"
9 default n
10 help
11 This option selects whether a 32-bit or a 64-bit kernel
12 will be built.
13
14config PPC32
15 bool
16 default y if !PPC64
17
18config 64BIT
19 bool
20 default y if PPC64
21
22config PPC_MERGE
23 def_bool y
24
25config MMU
26 bool
27 default y
28
Paul Mackerras14cf11a2005-09-26 16:04:21 +100029config GENERIC_HARDIRQS
30 bool
31 default y
32
33config RWSEM_GENERIC_SPINLOCK
34 bool
35
36config RWSEM_XCHGADD_ALGORITHM
37 bool
38 default y
39
40config GENERIC_CALIBRATE_DELAY
41 bool
42 default y
43
44config PPC
45 bool
46 default y
47
48config EARLY_PRINTK
49 bool
Benjamin Herrenschmidt51d30822005-11-23 17:57:25 +110050 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +100051
52config COMPAT
53 bool
54 default y if PPC64
55
56config SYSVIPC_COMPAT
57 bool
58 depends on COMPAT && SYSVIPC
59 default y
60
61# All PPC32s use generic nvram driver through ppc_md
62config GENERIC_NVRAM
63 bool
64 default y if PPC32
65
66config SCHED_NO_NO_OMIT_FRAME_POINTER
67 bool
68 default y
69
70config ARCH_MAY_HAVE_PC_FDC
71 bool
72 default y
73
Kumar Gala08264cb2006-01-10 21:43:56 -060074config PPC_OF
75 def_bool y
76
77config PPC_UDBG_16550
78 bool
79 default n
80
Kumar Gala08264cb2006-01-10 21:43:56 -060081config GENERIC_TBSYNC
82 bool
83 default y if PPC32 && SMP
84 default n
85
Kumar Galaf4fc4a52006-01-16 10:53:22 -060086config DEFAULT_UIMAGE
87 bool
88 help
89 Used to allow a board to specify it wants a uImage built by default
90 default n
91
Paul Mackerras14cf11a2005-09-26 16:04:21 +100092menu "Processor support"
93choice
94 prompt "Processor Type"
95 depends on PPC32
96 default 6xx
97
Kumar Gala08264cb2006-01-10 21:43:56 -060098config CLASSIC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +100099 bool "6xx/7xx/74xx"
100 select PPC_FPU
Kumar Gala08264cb2006-01-10 21:43:56 -0600101 select 6xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000102 help
103 There are four families of PowerPC chips supported. The more common
104 types (601, 603, 604, 740, 750, 7400), the Motorola embedded
105 versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
106 embedded versions (403 and 405) and the high end 64 bit Power
107 processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
108
109 Unless you are building a kernel for one of the embedded processor
110 systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx.
111 Note that the kernel runs in 32-bit mode even on 64-bit chips.
112
113config PPC_52xx
114 bool "Freescale 52xx"
Kumar Gala08264cb2006-01-10 21:43:56 -0600115 select 6xx
116 select PPC_FPU
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000117
118config PPC_82xx
119 bool "Freescale 82xx"
Kumar Gala08264cb2006-01-10 21:43:56 -0600120 select 6xx
121 select PPC_FPU
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000122
123config PPC_83xx
124 bool "Freescale 83xx"
Kumar Gala08264cb2006-01-10 21:43:56 -0600125 select 6xx
126 select FSL_SOC
127 select 83xx
128 select PPC_FPU
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000129
Becky Bruce63dafe52006-01-14 16:57:39 -0600130config PPC_85xx
131 bool "Freescale 85xx"
132 select E500
133 select FSL_SOC
134 select 85xx
135
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000136config 40x
137 bool "AMCC 40x"
138
139config 44x
140 bool "AMCC 44x"
141
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000142config 8xx
143 bool "Freescale 8xx"
144
145config E200
146 bool "Freescale e200"
147
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000148endchoice
149
150config POWER4_ONLY
151 bool "Optimize for POWER4"
Paul Mackerras187a0062005-10-06 12:49:05 +1000152 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000153 default n
154 ---help---
155 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
156 The resulting binary will not work on POWER3 or RS64 processors
157 when compiled with binutils 2.15 or later.
158
159config POWER3
160 bool
Paul Mackerras187a0062005-10-06 12:49:05 +1000161 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000162 default y if !POWER4_ONLY
163
164config POWER4
Paul Mackerras187a0062005-10-06 12:49:05 +1000165 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000166 def_bool y
167
Kumar Gala08264cb2006-01-10 21:43:56 -0600168config 6xx
169 bool
170
171# this is temp to handle compat with arch=ppc
172config 83xx
173 bool
174
Becky Bruce63dafe52006-01-14 16:57:39 -0600175# this is temp to handle compat with arch=ppc
176config 85xx
177 bool
178
179config E500
180 bool
181
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000182config PPC_FPU
Paul Mackerras187a0062005-10-06 12:49:05 +1000183 bool
184 default y if PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000185
186config BOOKE
187 bool
188 depends on E200 || E500
189 default y
190
191config FSL_BOOKE
192 bool
193 depends on E200 || E500
194 default y
195
196config PTE_64BIT
197 bool
198 depends on 44x || E500
199 default y if 44x
200 default y if E500 && PHYS_64BIT
201
202config PHYS_64BIT
203 bool 'Large physical address support' if E500
204 depends on 44x || E500
205 default y if 44x
206 ---help---
207 This option enables kernel support for larger than 32-bit physical
208 addresses. This features is not be available on all e500 cores.
209
210 If in doubt, say N here.
211
212config ALTIVEC
213 bool "AltiVec Support"
Kumar Gala08264cb2006-01-10 21:43:56 -0600214 depends on CLASSIC32 || POWER4
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000215 ---help---
216 This option enables kernel support for the Altivec extensions to the
217 PowerPC processor. The kernel currently supports saving and restoring
218 altivec registers, and turning on the 'altivec enable' bit so user
219 processes can execute altivec instructions.
220
221 This option is only usefully if you have a processor that supports
222 altivec (G4, otherwise known as 74xx series), but does not have
223 any affect on a non-altivec cpu (it does, however add code to the
224 kernel).
225
226 If in doubt, say Y here.
227
228config SPE
229 bool "SPE Support"
230 depends on E200 || E500
Becky Bruce63dafe52006-01-14 16:57:39 -0600231 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000232 ---help---
233 This option enables kernel support for the Signal Processing
234 Extensions (SPE) to the PowerPC processor. The kernel currently
235 supports saving and restoring SPE registers, and turning on the
236 'spe enable' bit so user processes can execute SPE instructions.
237
238 This option is only useful if you have a processor that supports
239 SPE (e500, otherwise known as 85xx series), but does not have any
240 effect on a non-spe cpu (it does, however add code to the kernel).
241
242 If in doubt, say Y here.
243
244config PPC_STD_MMU
245 bool
246 depends on 6xx || POWER3 || POWER4 || PPC64
247 default y
248
249config PPC_STD_MMU_32
250 def_bool y
251 depends on PPC_STD_MMU && PPC32
252
253config SMP
254 depends on PPC_STD_MMU
255 bool "Symmetric multi-processing support"
256 ---help---
257 This enables support for systems with more than one CPU. If you have
258 a system with only one CPU, say N. If you have a system with more
259 than one CPU, say Y. Note that the kernel does not currently
260 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
261 since they have inadequate hardware support for multiprocessor
262 operation.
263
264 If you say N here, the kernel will run on single and multiprocessor
265 machines, but will use only one CPU of a multiprocessor machine. If
266 you say Y here, the kernel will run on single-processor machines.
267 On a single-processor machine, the kernel will run faster if you say
268 N here.
269
270 If you don't know what to do here, say N.
271
272config NR_CPUS
Olaf Heringe8a167a2005-12-01 21:10:10 +0100273 int "Maximum number of CPUs (2-128)"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000274 range 2 128
275 depends on SMP
276 default "32" if PPC64
277 default "4"
278
279config NOT_COHERENT_CACHE
280 bool
281 depends on 4xx || 8xx || E200
282 default y
283endmenu
284
285source "init/Kconfig"
286
287menu "Platform support"
Kumar Gala08264cb2006-01-10 21:43:56 -0600288 depends on PPC64 || CLASSIC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000289
290choice
291 prompt "Machine type"
292 default PPC_MULTIPLATFORM
293
294config PPC_MULTIPLATFORM
295 bool "Generic desktop/server/laptop"
296 help
297 Select this option if configuring for an IBM pSeries or
298 RS/6000 machine, an Apple machine, or a PReP, CHRP,
299 Maple or Cell-based machine.
300
301config PPC_ISERIES
302 bool "IBM Legacy iSeries"
303 depends on PPC64
304
305config EMBEDDED6xx
306 bool "Embedded 6xx/7xx/7xxx-based board"
Paul Mackerras5be396b2005-11-14 17:31:55 +1100307 depends on PPC32 && BROKEN
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000308
309config APUS
310 bool "Amiga-APUS"
311 depends on PPC32 && BROKEN
312 help
313 Select APUS if configuring for a PowerUP Amiga.
314 More information is available at:
315 <http://linux-apus.sourceforge.net/>.
316endchoice
317
318config PPC_PSERIES
319 depends on PPC_MULTIPLATFORM && PPC64
320 bool " IBM pSeries & new (POWER5-based) iSeries"
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000321 select PPC_I8259
Paul Mackerras033ef332005-10-26 17:05:24 +1000322 select PPC_RTAS
323 select RTAS_ERROR_LOGGING
Paul Mackerras13b8a272006-01-10 16:19:05 +1100324 select PPC_UDBG_16550
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000325 default y
326
327config PPC_CHRP
328 bool " Common Hardware Reference Platform (CHRP) based machines"
329 depends on PPC_MULTIPLATFORM && PPC32
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000330 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000331 select PPC_INDIRECT_PCI
Paul Mackerras033ef332005-10-26 17:05:24 +1000332 select PPC_RTAS
Paul Mackerras830825d2005-10-26 17:16:38 +1000333 select PPC_MPC106
Paul Mackerras13b8a272006-01-10 16:19:05 +1100334 select PPC_UDBG_16550
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000335 default y
336
337config PPC_PMAC
338 bool " Apple PowerMac based machines"
339 depends on PPC_MULTIPLATFORM
Paul Mackerras25635c72005-10-26 16:36:55 +1000340 select PPC_INDIRECT_PCI if PPC32
Paul Mackerrasb6a4ce52005-10-26 22:54:17 +1000341 select PPC_MPC106 if PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000342 default y
343
344config PPC_PMAC64
345 bool
346 depends on PPC_PMAC && POWER4
Paul Mackerras35499c02005-10-22 16:02:39 +1000347 select U3_DART
Benjamin Herrenschmidt1beb6a72005-12-14 13:10:10 +1100348 select MPIC_BROKEN_U3
Paul Mackerras8ad200d2005-11-04 13:28:58 +1100349 select GENERIC_TBSYNC
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000350 default y
351
352config PPC_PREP
353 bool " PowerPC Reference Platform (PReP) based machines"
Paul Mackerras5be396b2005-11-14 17:31:55 +1100354 depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000355 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000356 select PPC_INDIRECT_PCI
Paul Mackerras13b8a272006-01-10 16:19:05 +1100357 select PPC_UDBG_16550
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000358 default y
359
360config PPC_MAPLE
361 depends on PPC_MULTIPLATFORM && PPC64
362 bool " Maple 970FX Evaluation Board"
363 select U3_DART
364 select MPIC_BROKEN_U3
Paul Mackerras8ad200d2005-11-04 13:28:58 +1100365 select GENERIC_TBSYNC
Paul Mackerras13b8a272006-01-10 16:19:05 +1100366 select PPC_UDBG_16550
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000367 default n
368 help
369 This option enables support for the Maple 970FX Evaluation Board.
370 For more informations, refer to <http://www.970eval.com>
371
Arnd Bergmannf3f66f52005-10-31 20:08:37 -0500372config PPC_CELL
373 bool " Cell Broadband Processor Architecture"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000374 depends on PPC_MULTIPLATFORM && PPC64
Paul Mackerras033ef332005-10-26 17:05:24 +1000375 select PPC_RTAS
Arnd Bergmannedf03c12005-10-31 20:08:40 -0500376 select MMIO_NVRAM
Paul Mackerras13b8a272006-01-10 16:19:05 +1100377 select PPC_UDBG_16550
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000378
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000379config XICS
380 depends on PPC_PSERIES
381 bool
382 default y
383
384config U3_DART
385 bool
386 depends on PPC_MULTIPLATFORM && PPC64
387 default n
388
389config MPIC
Paul Mackerrasbbd0abd2005-10-26 21:45:56 +1000390 depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE || PPC_CHRP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000391 bool
392 default y
393
Paul Mackerras033ef332005-10-26 17:05:24 +1000394config PPC_RTAS
395 bool
396 default n
397
398config RTAS_ERROR_LOGGING
399 bool
400 depends on PPC_RTAS
401 default n
402
Paul Mackerrasf4fcbbe2005-11-03 14:41:19 +1100403config RTAS_PROC
404 bool "Proc interface to RTAS"
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500405 depends on PPC_RTAS
Paul Mackerrasf4fcbbe2005-11-03 14:41:19 +1100406 default y
407
408config RTAS_FLASH
409 tristate "Firmware flash interface"
410 depends on PPC64 && RTAS_PROC
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500411
Arnd Bergmannedf03c12005-10-31 20:08:40 -0500412config MMIO_NVRAM
413 bool
414 default n
415
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000416config MPIC_BROKEN_U3
417 bool
418 depends on PPC_MAPLE
419 default y
420
Arnd Bergmannf3f66f52005-10-31 20:08:37 -0500421config CELL_IIC
422 depends on PPC_CELL
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000423 bool
424 default y
425
426config IBMVIO
427 depends on PPC_PSERIES || PPC_ISERIES
428 bool
429 default y
430
Heiko J Schickd7a30102005-11-16 08:56:43 +0100431config IBMEBUS
432 depends on PPC_PSERIES
433 bool "Support for GX bus based adapters"
Heiko J Schickd7a30102005-11-16 08:56:43 +0100434 help
435 Bus device driver for GX bus based adapters.
436
Paul Mackerras830825d2005-10-26 17:16:38 +1000437config PPC_MPC106
438 bool
439 default n
440
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000441source "drivers/cpufreq/Kconfig"
442
443config CPU_FREQ_PMAC
444 bool "Support for Apple PowerBooks"
445 depends on CPU_FREQ && ADB_PMU && PPC32
446 select CPU_FREQ_TABLE
447 help
448 This adds support for frequency switching on Apple PowerBooks,
449 this currently includes some models of iBook & Titanium
450 PowerBook.
451
Benjamin Herrenschmidt43501472005-11-07 14:27:33 +1100452config CPU_FREQ_PMAC64
453 bool "Support for some Apple G5s"
454 depends on CPU_FREQ && PMAC_SMU && PPC64
455 select CPU_FREQ_TABLE
456 help
457 This adds support for frequency switching on Apple iMac G5,
458 and some of the more recent desktop G5 machines as well.
459
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000460config PPC601_SYNC_FIX
461 bool "Workarounds for PPC601 bugs"
462 depends on 6xx && (PPC_PREP || PPC_PMAC)
463 help
464 Some versions of the PPC601 (the first PowerPC chip) have bugs which
465 mean that extra synchronization instructions are required near
466 certain instructions, typically those that make major changes to the
467 CPU state. These extra instructions reduce performance slightly.
468 If you say N here, these extra instructions will not be included,
469 resulting in a kernel which will run faster but may not run at all
470 on some systems with the PPC601 chip.
471
472 If in doubt, say Y here.
473
474config TAU
475 bool "Thermal Management Support"
476 depends on 6xx
477 help
478 G3 and G4 processors have an on-chip temperature sensor called the
479 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
480 temperature within 2-4 degrees Celsius. This option shows the current
481 on-die temperature in /proc/cpuinfo if the cpu supports it.
482
483 Unfortunately, on some chip revisions, this sensor is very inaccurate
484 and in some cases, does not work at all, so don't assume the cpu
485 temp is actually what /proc/cpuinfo says it is.
486
487config TAU_INT
488 bool "Interrupt driven TAU driver (DANGEROUS)"
489 depends on TAU
490 ---help---
491 The TAU supports an interrupt driven mode which causes an interrupt
492 whenever the temperature goes out of range. This is the fastest way
493 to get notified the temp has exceeded a range. With this option off,
494 a timer is used to re-check the temperature periodically.
495
496 However, on some cpus it appears that the TAU interrupt hardware
497 is buggy and can cause a situation which would lead unexplained hard
498 lockups.
499
500 Unless you are extending the TAU driver, or enjoy kernel/hardware
501 debugging, leave this option off.
502
503config TAU_AVERAGE
504 bool "Average high and low temp"
505 depends on TAU
506 ---help---
507 The TAU hardware can compare the temperature to an upper and lower
508 bound. The default behavior is to show both the upper and lower
509 bound in /proc/cpuinfo. If the range is large, the temperature is
510 either changing a lot, or the TAU hardware is broken (likely on some
511 G4's). If the range is small (around 4 degrees), the temperature is
512 relatively stable. If you say Y here, a single temperature value,
513 halfway between the upper and lower bounds, will be reported in
514 /proc/cpuinfo.
515
516 If in doubt, say N here.
517endmenu
518
519source arch/powerpc/platforms/embedded6xx/Kconfig
520source arch/powerpc/platforms/4xx/Kconfig
Kumar Gala08264cb2006-01-10 21:43:56 -0600521source arch/powerpc/platforms/83xx/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000522source arch/powerpc/platforms/85xx/Kconfig
523source arch/powerpc/platforms/8xx/Kconfig
Arnd Bergmann67207b92005-11-15 15:53:48 -0500524source arch/powerpc/platforms/cell/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000525
526menu "Kernel options"
527
528config HIGHMEM
529 bool "High memory support"
530 depends on PPC32
531
532source kernel/Kconfig.hz
533source kernel/Kconfig.preempt
534source "fs/Kconfig.binfmt"
535
536# We optimistically allocate largepages from the VM, so make the limit
537# large enough (16MB). This badly named config option is actually
538# max order + 1
539config FORCE_MAX_ZONEORDER
540 int
541 depends on PPC64
Mike Kravetz02864862005-11-07 13:48:59 -0800542 default "9" if PPC_64K_PAGES
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000543 default "13"
544
545config MATH_EMULATION
546 bool "Math emulation"
547 depends on 4xx || 8xx || E200 || E500
548 ---help---
549 Some PowerPC chips designed for embedded applications do not have
550 a floating-point unit and therefore do not implement the
551 floating-point instructions in the PowerPC instruction set. If you
552 say Y here, the kernel will include code to emulate a floating-point
553 unit, which will allow programs that use floating-point
554 instructions to run.
555
556config IOMMU_VMERGE
557 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
558 depends on EXPERIMENTAL && PPC64
559 default n
560 help
561 Cause IO segments sent to a device for DMA to be merged virtually
562 by the IOMMU when they happen to have been allocated contiguously.
563 This doesn't add pressure to the IOMMU allocator. However, some
564 drivers don't support getting large merged segments coming back
565 from *_map_sg(). Say Y if you know the drivers you are using are
566 properly handling this case.
567
568config HOTPLUG_CPU
569 bool "Support for enabling/disabling CPUs"
570 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
571 ---help---
572 Say Y here to be able to disable and re-enable individual
573 CPUs at runtime on SMP machines.
574
575 Say N if you are unsure.
576
577config KEXEC
578 bool "kexec system call (EXPERIMENTAL)"
579 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
580 help
581 kexec is a system call that implements the ability to shutdown your
582 current kernel, and to start another kernel. It is like a reboot
583 but it is indepedent of the system firmware. And like a reboot
584 you can start any kernel with it, not just Linux.
585
586 The name comes from the similiarity to the exec system call.
587
588 It is an ongoing process to be certain the hardware in a machine
589 is properly shutdown, so do not be surprised if this code does not
590 initially work for you. It may help to enable device hotplugging
591 support. As of this writing the exact hardware interface is
592 strongly in flux, so no good recommendation can be made.
593
Haren Mynenie8625d462006-01-14 13:48:25 -0800594config CRASH_DUMP
595 bool "kernel crash dumps (EXPERIMENTAL)"
596 depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL
597 help
598 Build a kernel suitable for use as a kdump capture kernel.
599 The kernel will be linked at a different address than normal, and
600 so can only be used for Kdump.
601
602 Don't change this unless you know what you are doing.
603
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000604config EMBEDDEDBOOT
605 bool
606 depends on 8xx || 8260
607 default y
608
609config PC_KEYBOARD
610 bool "PC PS/2 style Keyboard"
611 depends on 4xx || CPM2
612
613config PPCBUG_NVRAM
614 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
615 default y if PPC_PREP
616
617config IRQ_ALL_CPUS
618 bool "Distribute interrupts on all CPUs by default"
619 depends on SMP && !MV64360
620 help
621 This option gives the kernel permission to distribute IRQs across
622 multiple CPUs. Saying N here will route all IRQs to the first
623 CPU. Generally saying Y is safe, although some problems have been
624 reported with SMP Power Macintoshes with this option enabled.
625
626source "arch/powerpc/platforms/pseries/Kconfig"
627
Andy Whitcroftffa27b62005-10-28 17:46:58 -0700628config NUMA
629 bool "NUMA support"
630 depends on PPC64
631 default y if SMP && PPC_PSERIES
632
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000633config ARCH_SELECT_MEMORY_MODEL
634 def_bool y
635 depends on PPC64
636
637config ARCH_FLATMEM_ENABLE
Andy Whitcroft9100b202005-11-29 19:20:55 +0000638 def_bool y
639 depends on (PPC64 && !NUMA) || PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000640
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000641config ARCH_SPARSEMEM_ENABLE
642 def_bool y
Andy Whitcroft9100b202005-11-29 19:20:55 +0000643 depends on PPC64
Anton Blanchard45fb6ce2005-11-11 14:22:35 +1100644
645config ARCH_SPARSEMEM_DEFAULT
646 def_bool y
647 depends on SMP && PPC_PSERIES
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000648
649source "mm/Kconfig"
650
651config HAVE_ARCH_EARLY_PFN_TO_NID
652 def_bool y
653 depends on NEED_MULTIPLE_NODES
654
Mike Kravetz7e9191d2005-11-07 09:39:48 -0800655config ARCH_MEMORY_PROBE
656 def_bool y
657 depends on MEMORY_HOTPLUG
658
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100659config PPC_64K_PAGES
660 bool "64k page size"
Benjamin Herrenschmidt863c84b2005-11-07 00:57:58 -0800661 depends on PPC64
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100662 help
663 This option changes the kernel logical page size to 64k. On machines
664 without processor support for 64k pages, the kernel will simulate
665 them by loading each individual 4k page on demand transparently,
666 while on hardware with such support, it will be used to map
667 normal application pages.
668
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000669config SCHED_SMT
670 bool "SMT (Hyperthreading) scheduler support"
671 depends on PPC64 && SMP
672 default off
673 help
674 SMT scheduler support improves the CPU scheduler's decision making
675 when dealing with POWER5 cpus at a cost of slightly increased
676 overhead in some places. If unsure say N here.
677
678config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000679 bool "Support for device tree in /proc"
680 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000681 help
682 This option adds a device-tree directory under /proc which contains
683 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000684 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000685
686source "arch/powerpc/platforms/prep/Kconfig"
687
688config CMDLINE_BOOL
689 bool "Default bootloader kernel arguments"
690 depends on !PPC_ISERIES
691
692config CMDLINE
693 string "Initial kernel command string"
694 depends on CMDLINE_BOOL
695 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
696 help
697 On some platforms, there is currently no way for the boot loader to
698 pass arguments to the kernel. For these platforms, you can supply
699 some command-line options at build time by entering them here. In
700 most cases you will need to specify the root device here.
701
702if !44x || BROKEN
703source kernel/power/Kconfig
704endif
705
706config SECCOMP
707 bool "Enable seccomp to safely compute untrusted bytecode"
708 depends on PROC_FS
709 default y
710 help
711 This kernel feature is useful for number crunching applications
712 that may need to compute untrusted bytecode during their
713 execution. By using pipes or other transports made available to
714 the process as file descriptors supporting the read/write
715 syscalls, it's possible to isolate those applications in
716 their own address space using seccomp. Once seccomp is
717 enabled via /proc/<pid>/seccomp, it cannot be disabled
718 and the task is only allowed to execute a few safe syscalls
719 defined by each seccomp mode.
720
721 If unsure, say Y. Only embedded should say N here.
722
723endmenu
724
725config ISA_DMA_API
726 bool
727 default y
728
729menu "Bus options"
730
731config ISA
732 bool "Support for ISA-bus hardware"
733 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000734 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000735 help
736 Find out whether you have ISA slots on your motherboard. ISA is the
737 name of a bus system, i.e. the way the CPU talks to the other stuff
738 inside your box. If you have an Apple machine, say N here; if you
739 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
740 you have an embedded board, consult your board documentation.
741
742config GENERIC_ISA_DMA
743 bool
744 depends on PPC64 || POWER4 || 6xx && !CPM2
745 default y
746
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000747config PPC_I8259
748 bool
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000749 default n
750
Paul Mackerras25635c72005-10-26 16:36:55 +1000751config PPC_INDIRECT_PCI
752 bool
753 depends on PCI
Becky Bruce63dafe52006-01-14 16:57:39 -0600754 default y if 40x || 44x
Paul Mackerras25635c72005-10-26 16:36:55 +1000755 default n
756
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000757config EISA
758 bool
759
760config SBUS
761 bool
762
Kumar Gala08264cb2006-01-10 21:43:56 -0600763config FSL_SOC
764 bool
765
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000766# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
767config MCA
768 bool
769
770config PCI
Becky Bruce63dafe52006-01-14 16:57:39 -0600771 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
772 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !PPC_85xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000773 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
774 default PCI_QSPAN if !4xx && !CPM2 && 8xx
775 help
776 Find out whether your system includes a PCI bus. PCI is the name of
777 a bus system, i.e. the way the CPU talks to the other stuff inside
778 your box. If you say Y here, the kernel will include drivers and
779 infrastructure code to support PCI bus devices.
780
781config PCI_DOMAINS
782 bool
783 default PCI
784
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000785config PCI_QSPAN
786 bool "QSpan PCI"
787 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000788 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000789 help
790 Say Y here if you have a system based on a Motorola 8xx-series
791 embedded processor with a QSPAN PCI interface, otherwise say N.
792
793config PCI_8260
794 bool
795 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +1000796 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000797 default y
798
799config 8260_PCI9
800 bool " Enable workaround for MPC826x erratum PCI 9"
801 depends on PCI_8260 && !ADS8272
802 default y
803
804choice
805 prompt " IDMA channel for PCI 9 workaround"
806 depends on 8260_PCI9
807
808config 8260_PCI9_IDMA1
809 bool "IDMA1"
810
811config 8260_PCI9_IDMA2
812 bool "IDMA2"
813
814config 8260_PCI9_IDMA3
815 bool "IDMA3"
816
817config 8260_PCI9_IDMA4
818 bool "IDMA4"
819
820endchoice
821
822source "drivers/pci/Kconfig"
823
824source "drivers/pcmcia/Kconfig"
825
826source "drivers/pci/hotplug/Kconfig"
827
828endmenu
829
830menu "Advanced setup"
831 depends on PPC32
832
833config ADVANCED_OPTIONS
834 bool "Prompt for advanced kernel configuration options"
835 help
836 This option will enable prompting for a variety of advanced kernel
837 configuration options. These options can cause the kernel to not
838 work if they are set incorrectly, but can be used to optimize certain
839 aspects of kernel memory management.
840
841 Unless you know what you are doing, say N here.
842
843comment "Default settings for advanced configuration options are used"
844 depends on !ADVANCED_OPTIONS
845
846config HIGHMEM_START_BOOL
847 bool "Set high memory pool address"
848 depends on ADVANCED_OPTIONS && HIGHMEM
849 help
850 This option allows you to set the base address of the kernel virtual
851 area used to map high memory pages. This can be useful in
852 optimizing the layout of kernel virtual memory.
853
854 Say N here unless you know what you are doing.
855
856config HIGHMEM_START
857 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
858 default "0xfe000000"
859
860config LOWMEM_SIZE_BOOL
861 bool "Set maximum low memory"
862 depends on ADVANCED_OPTIONS
863 help
864 This option allows you to set the maximum amount of memory which
865 will be used as "low memory", that is, memory which the kernel can
866 access directly, without having to set up a kernel virtual mapping.
867 This can be useful in optimizing the layout of kernel virtual
868 memory.
869
870 Say N here unless you know what you are doing.
871
872config LOWMEM_SIZE
873 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
874 default "0x30000000"
875
876config KERNEL_START_BOOL
877 bool "Set custom kernel base address"
878 depends on ADVANCED_OPTIONS
879 help
880 This option allows you to set the kernel virtual address at which
881 the kernel will map low memory (the kernel image will be linked at
882 this address). This can be useful in optimizing the virtual memory
883 layout of the system.
884
885 Say N here unless you know what you are doing.
886
887config KERNEL_START
888 hex "Virtual address of kernel base" if KERNEL_START_BOOL
889 default "0xc0000000"
890
891config TASK_SIZE_BOOL
892 bool "Set custom user task size"
893 depends on ADVANCED_OPTIONS
894 help
895 This option allows you to set the amount of virtual address space
896 allocated to user tasks. This can be useful in optimizing the
897 virtual memory layout of the system.
898
899 Say N here unless you know what you are doing.
900
901config TASK_SIZE
902 hex "Size of user task space" if TASK_SIZE_BOOL
903 default "0x80000000"
904
905config CONSISTENT_START_BOOL
906 bool "Set custom consistent memory pool address"
907 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
908 help
909 This option allows you to set the base virtual address
910 of the the consistent memory pool. This pool of virtual
911 memory is used to make consistent memory allocations.
912
913config CONSISTENT_START
914 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
915 default "0xff100000" if NOT_COHERENT_CACHE
916
917config CONSISTENT_SIZE_BOOL
918 bool "Set custom consistent memory pool size"
919 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
920 help
921 This option allows you to set the size of the the
922 consistent memory pool. This pool of virtual memory
923 is used to make consistent memory allocations.
924
925config CONSISTENT_SIZE
926 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
927 default "0x00200000" if NOT_COHERENT_CACHE
928
929config BOOT_LOAD_BOOL
930 bool "Set the boot link/load address"
931 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
932 help
933 This option allows you to set the initial load address of the zImage
934 or zImage.initrd file. This can be useful if you are on a board
935 which has a small amount of memory.
936
937 Say N here unless you know what you are doing.
938
939config BOOT_LOAD
940 hex "Link/load address for booting" if BOOT_LOAD_BOOL
941 default "0x00400000" if 40x || 8xx || 8260
942 default "0x01000000" if 44x
943 default "0x00800000"
944
945config PIN_TLB
946 bool "Pinned Kernel TLBs (860 ONLY)"
947 depends on ADVANCED_OPTIONS && 8xx
948endmenu
949
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000950if PPC64
951config KERNEL_START
952 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000953 default "0xc000000000000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000954endif
955
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000956source "net/Kconfig"
957
958source "drivers/Kconfig"
959
960source "fs/Kconfig"
961
962# XXX source "arch/ppc/8xx_io/Kconfig"
963
964# XXX source "arch/ppc/8260_io/Kconfig"
965
966source "arch/powerpc/platforms/iseries/Kconfig"
967
968source "lib/Kconfig"
969
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800970menu "Instrumentation Support"
971 depends on EXPERIMENTAL
972
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000973source "arch/powerpc/oprofile/Kconfig"
974
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800975config KPROBES
976 bool "Kprobes (EXPERIMENTAL)"
Paul Mackerras7568cb42005-11-14 17:30:17 +1100977 depends on PPC64
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800978 help
979 Kprobes allows you to trap at almost any kernel address and
980 execute a callback function. register_kprobe() establishes
981 a probepoint and specifies the callback. Kprobes is useful
982 for kernel debugging, non-intrusive instrumentation and testing.
983 If in doubt, say "N".
984endmenu
985
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000986source "arch/powerpc/Kconfig.debug"
987
988source "security/Kconfig"
989
990config KEYS_COMPAT
991 bool
992 depends on COMPAT && KEYS
993 default y
994
995source "crypto/Kconfig"