blob: a54a9a2e36f34367ec1d22206075e8fe318fcd07 [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
Johannes Berg17e638b2007-03-19 11:53:53 +010014config PPC_PM_NEEDS_RTC_LIB
15 bool
16 select RTC_LIB
17 default y if PM
18
Paul Mackerras14cf11a2005-09-26 16:04:21 +100019config PPC32
20 bool
21 default y if !PPC64
22
23config 64BIT
24 bool
25 default y if PPC64
26
27config PPC_MERGE
28 def_bool y
29
30config MMU
31 bool
32 default y
33
Paul Mackerras14cf11a2005-09-26 16:04:21 +100034config GENERIC_HARDIRQS
35 bool
36 default y
37
Ingo Molnar0d7012a2006-06-29 02:24:43 -070038config IRQ_PER_CPU
39 bool
40 default y
41
Paul Mackerras14cf11a2005-09-26 16:04:21 +100042config RWSEM_GENERIC_SPINLOCK
43 bool
44
45config RWSEM_XCHGADD_ALGORITHM
46 bool
47 default y
48
David Howellsf0d1b0b2006-12-08 02:37:49 -080049config ARCH_HAS_ILOG2_U32
50 bool
David Howellsef55d532006-12-08 02:37:53 -080051 default y
David Howellsf0d1b0b2006-12-08 02:37:49 -080052
53config ARCH_HAS_ILOG2_U64
54 bool
David Howellsef55d532006-12-08 02:37:53 -080055 default y if 64BIT
David Howellsf0d1b0b2006-12-08 02:37:49 -080056
Akinobu Mitae779b2f2006-03-26 01:39:33 -080057config GENERIC_HWEIGHT
58 bool
59 default y
60
Paul Mackerras14cf11a2005-09-26 16:04:21 +100061config GENERIC_CALIBRATE_DELAY
62 bool
63 default y
64
Jon Mason0a9cb462006-05-19 15:35:32 -050065config GENERIC_FIND_NEXT_BIT
66 bool
67 default y
68
Paul Mackerras14cf11a2005-09-26 16:04:21 +100069config PPC
70 bool
71 default y
72
73config EARLY_PRINTK
74 bool
Benjamin Herrenschmidt51d30822005-11-23 17:57:25 +110075 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +100076
77config COMPAT
78 bool
79 default y if PPC64
80
81config SYSVIPC_COMPAT
82 bool
83 depends on COMPAT && SYSVIPC
84 default y
85
86# All PPC32s use generic nvram driver through ppc_md
87config GENERIC_NVRAM
88 bool
89 default y if PPC32
90
91config SCHED_NO_NO_OMIT_FRAME_POINTER
92 bool
93 default y
94
95config ARCH_MAY_HAVE_PC_FDC
96 bool
Stephen Rothwellbed59272007-03-04 17:04:44 +110097 default !PPC_PSERIES || PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +100098
Kumar Gala08264cb2006-01-10 21:43:56 -060099config PPC_OF
100 def_bool y
101
102config PPC_UDBG_16550
103 bool
104 default n
105
Kumar Gala08264cb2006-01-10 21:43:56 -0600106config GENERIC_TBSYNC
107 bool
108 default y if PPC32 && SMP
109 default n
110
Al Viroe65e1fc2006-09-12 03:04:40 -0400111config AUDIT_ARCH
112 bool
113 default y
114
Jeremy Fitzhardinge73c9cea2006-12-08 03:30:41 -0800115config GENERIC_BUG
116 bool
117 default y
118 depends on BUG
119
Kumar Galaf4fc4a52006-01-16 10:53:22 -0600120config DEFAULT_UIMAGE
121 bool
122 help
123 Used to allow a board to specify it wants a uImage built by default
124 default n
125
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000126menu "Processor support"
127choice
128 prompt "Processor Type"
129 depends on PPC32
130 default 6xx
131
Kumar Gala08264cb2006-01-10 21:43:56 -0600132config CLASSIC32
Grant Likely650f3282006-12-04 17:29:13 -0700133 bool "52xx/6xx/7xx/74xx"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000134 select PPC_FPU
Kumar Gala08264cb2006-01-10 21:43:56 -0600135 select 6xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000136 help
137 There are four families of PowerPC chips supported. The more common
138 types (601, 603, 604, 740, 750, 7400), the Motorola embedded
139 versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
140 embedded versions (403 and 405) and the high end 64 bit Power
141 processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
Grant Likely650f3282006-12-04 17:29:13 -0700142
143 This option is the catch-all for 6xx types, including some of the
144 embedded versions. Unless there is see an option for the specific
145 chip family you are using, you want this option.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000146
Grant Likely650f3282006-12-04 17:29:13 -0700147 You do not want this if you are building a kernel for a 64 bit
148 IBM RS/6000 or an Apple G5, choose 6xx.
149
150 If unsure, select this option
151
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000152 Note that the kernel runs in 32-bit mode even on 64-bit chips.
153
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000154config PPC_82xx
155 bool "Freescale 82xx"
Kumar Gala08264cb2006-01-10 21:43:56 -0600156 select 6xx
157 select PPC_FPU
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000158
159config PPC_83xx
160 bool "Freescale 83xx"
Kumar Gala08264cb2006-01-10 21:43:56 -0600161 select 6xx
162 select FSL_SOC
163 select 83xx
164 select PPC_FPU
Scott Wood270429b2007-04-17 09:24:51 +1000165 select WANT_DEVICE_TREE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000166
Becky Bruce63dafe52006-01-14 16:57:39 -0600167config PPC_85xx
168 bool "Freescale 85xx"
169 select E500
170 select FSL_SOC
171 select 85xx
Scott Wood4536b932007-04-27 03:09:01 +1000172 select WANT_DEVICE_TREE
Becky Bruce63dafe52006-01-14 16:57:39 -0600173
Jon Loeligerc9b484b2006-06-17 17:52:35 -0500174config PPC_86xx
175 bool "Freescale 86xx"
176 select 6xx
177 select FSL_SOC
Jon Loeliger3e4e97f2007-03-07 14:48:45 -0600178 select FSL_PCIE
Jon Loeligerc9b484b2006-06-17 17:52:35 -0500179 select PPC_FPU
180 select ALTIVEC
181 help
182 The Freescale E600 SoCs have 74xx cores.
183
Vitaly Bordug5902ebc2007-01-24 22:41:06 +0300184config PPC_8xx
185 bool "Freescale 8xx"
186 select FSL_SOC
187 select 8xx
188
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000189config 40x
190 bool "AMCC 40x"
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100191 select PPC_DCR_NATIVE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000192
193config 44x
194 bool "AMCC 44x"
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100195 select PPC_DCR_NATIVE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000196
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000197config E200
198 bool "Freescale e200"
199
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000200endchoice
201
202config POWER4_ONLY
203 bool "Optimize for POWER4"
Paul Mackerras187a0062005-10-06 12:49:05 +1000204 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000205 default n
206 ---help---
207 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
208 The resulting binary will not work on POWER3 or RS64 processors
209 when compiled with binutils 2.15 or later.
210
211config POWER3
212 bool
Paul Mackerras187a0062005-10-06 12:49:05 +1000213 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000214 default y if !POWER4_ONLY
215
216config POWER4
Paul Mackerras187a0062005-10-06 12:49:05 +1000217 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000218 def_bool y
219
Kumar Gala08264cb2006-01-10 21:43:56 -0600220config 6xx
221 bool
222
223# this is temp to handle compat with arch=ppc
Vitaly Bordug5902ebc2007-01-24 22:41:06 +0300224config 8xx
225 bool
226
227# this is temp to handle compat with arch=ppc
Kumar Gala08264cb2006-01-10 21:43:56 -0600228config 83xx
229 bool
230
Becky Bruce63dafe52006-01-14 16:57:39 -0600231# this is temp to handle compat with arch=ppc
232config 85xx
233 bool
234
235config E500
236 bool
237
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000238config PPC_FPU
Paul Mackerras187a0062005-10-06 12:49:05 +1000239 bool
240 default y if PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000241
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100242config PPC_DCR_NATIVE
243 bool
244 default n
245
246config PPC_DCR_MMIO
247 bool
248 default n
249
250config PPC_DCR
251 bool
252 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
253 default y
254
Benjamin Herrenschmidt4c9d2802006-11-11 17:25:08 +1100255config PPC_OF_PLATFORM_PCI
256 bool
257 depends on PPC64 # not supported on 32 bits yet
258 default n
259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000260config BOOKE
261 bool
262 depends on E200 || E500
263 default y
264
265config FSL_BOOKE
266 bool
267 depends on E200 || E500
268 default y
269
270config PTE_64BIT
271 bool
272 depends on 44x || E500
273 default y if 44x
274 default y if E500 && PHYS_64BIT
275
276config PHYS_64BIT
277 bool 'Large physical address support' if E500
278 depends on 44x || E500
Benjamin Herrenschmidt3d1ea8e2006-11-11 17:25:19 +1100279 select RESOURCES_64BIT
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000280 default y if 44x
281 ---help---
282 This option enables kernel support for larger than 32-bit physical
283 addresses. This features is not be available on all e500 cores.
284
285 If in doubt, say N here.
286
287config ALTIVEC
288 bool "AltiVec Support"
Kumar Gala08264cb2006-01-10 21:43:56 -0600289 depends on CLASSIC32 || POWER4
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000290 ---help---
291 This option enables kernel support for the Altivec extensions to the
292 PowerPC processor. The kernel currently supports saving and restoring
293 altivec registers, and turning on the 'altivec enable' bit so user
294 processes can execute altivec instructions.
295
296 This option is only usefully if you have a processor that supports
297 altivec (G4, otherwise known as 74xx series), but does not have
298 any affect on a non-altivec cpu (it does, however add code to the
299 kernel).
300
301 If in doubt, say Y here.
302
303config SPE
304 bool "SPE Support"
305 depends on E200 || E500
Becky Bruce63dafe52006-01-14 16:57:39 -0600306 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000307 ---help---
308 This option enables kernel support for the Signal Processing
309 Extensions (SPE) to the PowerPC processor. The kernel currently
310 supports saving and restoring SPE registers, and turning on the
311 'spe enable' bit so user processes can execute SPE instructions.
312
313 This option is only useful if you have a processor that supports
314 SPE (e500, otherwise known as 85xx series), but does not have any
315 effect on a non-spe cpu (it does, however add code to the kernel).
316
317 If in doubt, say Y here.
318
319config PPC_STD_MMU
320 bool
321 depends on 6xx || POWER3 || POWER4 || PPC64
322 default y
323
324config PPC_STD_MMU_32
325 def_bool y
326 depends on PPC_STD_MMU && PPC32
327
Paul Mackerrasc6622f62006-02-24 10:06:59 +1100328config VIRT_CPU_ACCOUNTING
329 bool "Deterministic task and CPU time accounting"
330 depends on PPC64
331 default y
332 help
333 Select this option to enable more accurate task and CPU time
334 accounting. This is done by reading a CPU counter on each
335 kernel entry and exit and on transitions within the kernel
336 between system, softirq and hardirq state, so there is a
337 small performance impact. This also enables accounting of
338 stolen time on logically-partitioned systems running on
339 IBM POWER5-based machines.
340
341 If in doubt, say Y here.
342
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000343config SMP
344 depends on PPC_STD_MMU
345 bool "Symmetric multi-processing support"
346 ---help---
347 This enables support for systems with more than one CPU. If you have
348 a system with only one CPU, say N. If you have a system with more
349 than one CPU, say Y. Note that the kernel does not currently
350 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
351 since they have inadequate hardware support for multiprocessor
352 operation.
353
354 If you say N here, the kernel will run on single and multiprocessor
355 machines, but will use only one CPU of a multiprocessor machine. If
356 you say Y here, the kernel will run on single-processor machines.
357 On a single-processor machine, the kernel will run faster if you say
358 N here.
359
360 If you don't know what to do here, say N.
361
362config NR_CPUS
Olaf Heringe8a167a2005-12-01 21:10:10 +0100363 int "Maximum number of CPUs (2-128)"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000364 range 2 128
365 depends on SMP
366 default "32" if PPC64
367 default "4"
368
369config NOT_COHERENT_CACHE
370 bool
371 depends on 4xx || 8xx || E200
372 default y
373endmenu
374
375source "init/Kconfig"
376
Kumar Gala4330f5d2007-03-16 09:32:17 -0500377source "arch/powerpc/platforms/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000378
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000379menu "Kernel options"
380
381config HIGHMEM
382 bool "High memory support"
383 depends on PPC32
384
385source kernel/Kconfig.hz
386source kernel/Kconfig.preempt
387source "fs/Kconfig.binfmt"
388
389# We optimistically allocate largepages from the VM, so make the limit
390# large enough (16MB). This badly named config option is actually
391# max order + 1
392config FORCE_MAX_ZONEORDER
393 int
394 depends on PPC64
Mike Kravetz02864862005-11-07 13:48:59 -0800395 default "9" if PPC_64K_PAGES
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000396 default "13"
397
398config MATH_EMULATION
399 bool "Math emulation"
Kumar Gala4d527192007-01-26 00:23:34 -0600400 depends on 4xx || 8xx || E200 || PPC_MPC832x || E500
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000401 ---help---
402 Some PowerPC chips designed for embedded applications do not have
403 a floating-point unit and therefore do not implement the
404 floating-point instructions in the PowerPC instruction set. If you
405 say Y here, the kernel will include code to emulate a floating-point
406 unit, which will allow programs that use floating-point
407 instructions to run.
408
409config IOMMU_VMERGE
410 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
411 depends on EXPERIMENTAL && PPC64
412 default n
413 help
414 Cause IO segments sent to a device for DMA to be merged virtually
415 by the IOMMU when they happen to have been allocated contiguously.
416 This doesn't add pressure to the IOMMU allocator. However, some
417 drivers don't support getting large merged segments coming back
418 from *_map_sg(). Say Y if you know the drivers you are using are
419 properly handling this case.
420
421config HOTPLUG_CPU
422 bool "Support for enabling/disabling CPUs"
423 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
424 ---help---
425 Say Y here to be able to disable and re-enable individual
426 CPUs at runtime on SMP machines.
427
428 Say N if you are unsure.
429
Yasunori Gotocc576372006-06-29 02:24:27 -0700430config ARCH_ENABLE_MEMORY_HOTPLUG
431 def_bool y
432
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000433config KEXEC
434 bool "kexec system call (EXPERIMENTAL)"
435 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
436 help
437 kexec is a system call that implements the ability to shutdown your
438 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400439 but it is independent of the system firmware. And like a reboot
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000440 you can start any kernel with it, not just Linux.
441
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400442 The name comes from the similarity to the exec system call.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000443
444 It is an ongoing process to be certain the hardware in a machine
445 is properly shutdown, so do not be surprised if this code does not
446 initially work for you. It may help to enable device hotplugging
447 support. As of this writing the exact hardware interface is
448 strongly in flux, so no good recommendation can be made.
449
Haren Mynenie8625d462006-01-14 13:48:25 -0800450config CRASH_DUMP
Michael Ellermancd9c99d2006-03-10 15:01:08 +1100451 bool "Build a kdump crash kernel (EXPERIMENTAL)"
Haren Mynenie8625d462006-01-14 13:48:25 -0800452 depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL
453 help
454 Build a kernel suitable for use as a kdump capture kernel.
455 The kernel will be linked at a different address than normal, and
456 so can only be used for Kdump.
457
458 Don't change this unless you know what you are doing.
459
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000460config PPCBUG_NVRAM
461 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
462 default y if PPC_PREP
463
464config IRQ_ALL_CPUS
465 bool "Distribute interrupts on all CPUs by default"
466 depends on SMP && !MV64360
467 help
468 This option gives the kernel permission to distribute IRQs across
469 multiple CPUs. Saying N here will route all IRQs to the first
470 CPU. Generally saying Y is safe, although some problems have been
471 reported with SMP Power Macintoshes with this option enabled.
472
Andy Whitcroftffa27b62005-10-28 17:46:58 -0700473config NUMA
474 bool "NUMA support"
475 depends on PPC64
476 default y if SMP && PPC_PSERIES
477
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700478config NODES_SHIFT
479 int
480 default "4"
481 depends on NEED_MULTIPLE_NODES
482
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000483config ARCH_SELECT_MEMORY_MODEL
484 def_bool y
485 depends on PPC64
486
487config ARCH_FLATMEM_ENABLE
Andy Whitcroft9100b202005-11-29 19:20:55 +0000488 def_bool y
489 depends on (PPC64 && !NUMA) || PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000490
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000491config ARCH_SPARSEMEM_ENABLE
492 def_bool y
Andy Whitcroft9100b202005-11-29 19:20:55 +0000493 depends on PPC64
Anton Blanchard45fb6ce2005-11-11 14:22:35 +1100494
495config ARCH_SPARSEMEM_DEFAULT
496 def_bool y
Benjamin Herrenschmidt78bde532007-02-13 11:46:06 +1100497 depends on (SMP && PPC_PSERIES) || PPC_PS3
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000498
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700499config ARCH_POPULATES_NODE_MAP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000500 def_bool y
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700501
502source "mm/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000503
Mike Kravetz7e9191d2005-11-07 09:39:48 -0800504config ARCH_MEMORY_PROBE
505 def_bool y
506 depends on MEMORY_HOTPLUG
507
Andy Whitcroft75167952006-10-21 10:24:14 -0700508# Some NUMA nodes have memory ranges that span
509# other nodes. Even though a pfn is valid and
510# between a node's start and end pfns, it may not
511# reside on that node. See memmap_init_zone()
512# for details.
513config NODES_SPAN_OTHER_NODES
514 def_bool y
515 depends on NEED_MULTIPLE_NODES
516
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100517config PPC_64K_PAGES
518 bool "64k page size"
Benjamin Herrenschmidt863c84b2005-11-07 00:57:58 -0800519 depends on PPC64
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100520 help
521 This option changes the kernel logical page size to 64k. On machines
Kumar Gala98750262007-04-12 18:01:34 -0500522 without processor support for 64k pages, the kernel will simulate
523 them by loading each individual 4k page on demand transparently,
524 while on hardware with such support, it will be used to map
525 normal application pages.
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100526
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000527config SCHED_SMT
528 bool "SMT (Hyperthreading) scheduler support"
529 depends on PPC64 && SMP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000530 help
531 SMT scheduler support improves the CPU scheduler's decision making
532 when dealing with POWER5 cpus at a cost of slightly increased
533 overhead in some places. If unsure say N here.
534
535config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000536 bool "Support for device tree in /proc"
537 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000538 help
539 This option adds a device-tree directory under /proc which contains
540 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000541 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000542
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000543config CMDLINE_BOOL
544 bool "Default bootloader kernel arguments"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000545
546config CMDLINE
547 string "Initial kernel command string"
548 depends on CMDLINE_BOOL
549 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
550 help
551 On some platforms, there is currently no way for the boot loader to
552 pass arguments to the kernel. For these platforms, you can supply
553 some command-line options at build time by entering them here. In
554 most cases you will need to specify the root device here.
555
556if !44x || BROKEN
557source kernel/power/Kconfig
558endif
559
560config SECCOMP
561 bool "Enable seccomp to safely compute untrusted bytecode"
562 depends on PROC_FS
563 default y
564 help
565 This kernel feature is useful for number crunching applications
566 that may need to compute untrusted bytecode during their
567 execution. By using pipes or other transports made available to
568 the process as file descriptors supporting the read/write
569 syscalls, it's possible to isolate those applications in
570 their own address space using seccomp. Once seccomp is
571 enabled via /proc/<pid>/seccomp, it cannot be disabled
572 and the task is only allowed to execute a few safe syscalls
573 defined by each seccomp mode.
574
575 If unsure, say Y. Only embedded should say N here.
576
Scott Wood270429b2007-04-17 09:24:51 +1000577config WANT_DEVICE_TREE
578 bool
579 default n
580
581config DEVICE_TREE
582 string "Static device tree source file"
583 depends on WANT_DEVICE_TREE
584 help
585 This specifies the device tree source (.dts) file to be
586 compiled and included when building the bootwrapper. If a
587 relative filename is given, then it will be relative to
588 arch/powerpc/boot/dts. If you are not using the bootwrapper,
589 or do not need to build a dts into the bootwrapper, this
590 field is ignored.
591
592 For example, this is required when building a cuImage target
593 for an older U-Boot, which cannot pass a device tree itself.
594 Such a kernel will not work with a newer U-Boot that tries to
595 pass a device tree (unless you tell it not to). If your U-Boot
596 does not mention a device tree in "help bootm", then use the
597 cuImage target and specify a device tree here. Otherwise, use
598 the uImage target and leave this field blank.
599
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000600endmenu
601
602config ISA_DMA_API
603 bool
604 default y
605
606menu "Bus options"
607
608config ISA
609 bool "Support for ISA-bus hardware"
610 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000611 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000612 help
613 Find out whether you have ISA slots on your motherboard. ISA is the
614 name of a bus system, i.e. the way the CPU talks to the other stuff
615 inside your box. If you have an Apple machine, say N here; if you
616 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
617 you have an embedded board, consult your board documentation.
618
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800619config ZONE_DMA
620 bool
621 default y
622
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000623config GENERIC_ISA_DMA
624 bool
625 depends on PPC64 || POWER4 || 6xx && !CPM2
626 default y
627
Paul Mackerras25635c72005-10-26 16:36:55 +1000628config PPC_INDIRECT_PCI
629 bool
630 depends on PCI
Becky Bruce63dafe52006-01-14 16:57:39 -0600631 default y if 40x || 44x
Paul Mackerras25635c72005-10-26 16:36:55 +1000632 default n
633
Kumar Gala4a89f7f2007-04-12 15:41:26 -0500634config PPC_INDIRECT_PCI_BE
635 bool
636 depends PPC_INDIRECT_PCI
637 default n
638
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000639config EISA
640 bool
641
642config SBUS
643 bool
644
Kumar Gala08264cb2006-01-10 21:43:56 -0600645config FSL_SOC
646 bool
647
Jon Loeliger3e4e97f2007-03-07 14:48:45 -0600648config FSL_PCIE
649 bool
650 depends on PPC_86xx
651
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000652# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
653config MCA
654 bool
655
656config PCI
Jon Loeliger53158622006-08-09 10:37:28 -0500657 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
Stephen Rothwellbed59272007-03-04 17:04:44 +1100658 || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
659 || MPC7448HPC2 || PPC_PS3
Jon Loeliger53158622006-08-09 10:37:28 -0500660 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
661 && !PPC_85xx && !PPC_86xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000662 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
663 default PCI_QSPAN if !4xx && !CPM2 && 8xx
664 help
665 Find out whether your system includes a PCI bus. PCI is the name of
666 a bus system, i.e. the way the CPU talks to the other stuff inside
667 your box. If you say Y here, the kernel will include drivers and
668 infrastructure code to support PCI bus devices.
669
670config PCI_DOMAINS
671 bool
672 default PCI
673
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000674config PCI_QSPAN
675 bool "QSpan PCI"
676 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000677 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000678 help
679 Say Y here if you have a system based on a Motorola 8xx-series
680 embedded processor with a QSPAN PCI interface, otherwise say N.
681
682config PCI_8260
683 bool
684 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +1000685 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000686 default y
687
688config 8260_PCI9
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700689 bool "Enable workaround for MPC826x erratum PCI 9"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000690 depends on PCI_8260 && !ADS8272
691 default y
692
693choice
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700694 prompt "IDMA channel for PCI 9 workaround"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000695 depends on 8260_PCI9
696
697config 8260_PCI9_IDMA1
698 bool "IDMA1"
699
700config 8260_PCI9_IDMA2
701 bool "IDMA2"
702
703config 8260_PCI9_IDMA3
704 bool "IDMA3"
705
706config 8260_PCI9_IDMA4
707 bool "IDMA4"
708
709endchoice
710
Jake Moilanenbb53bb32006-06-07 16:05:46 -0500711source "drivers/pci/pcie/Kconfig"
712
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000713source "drivers/pci/Kconfig"
714
715source "drivers/pcmcia/Kconfig"
716
717source "drivers/pci/hotplug/Kconfig"
718
719endmenu
720
721menu "Advanced setup"
722 depends on PPC32
723
724config ADVANCED_OPTIONS
725 bool "Prompt for advanced kernel configuration options"
726 help
727 This option will enable prompting for a variety of advanced kernel
728 configuration options. These options can cause the kernel to not
729 work if they are set incorrectly, but can be used to optimize certain
730 aspects of kernel memory management.
731
732 Unless you know what you are doing, say N here.
733
734comment "Default settings for advanced configuration options are used"
735 depends on !ADVANCED_OPTIONS
736
737config HIGHMEM_START_BOOL
738 bool "Set high memory pool address"
739 depends on ADVANCED_OPTIONS && HIGHMEM
740 help
741 This option allows you to set the base address of the kernel virtual
742 area used to map high memory pages. This can be useful in
743 optimizing the layout of kernel virtual memory.
744
745 Say N here unless you know what you are doing.
746
747config HIGHMEM_START
748 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
749 default "0xfe000000"
750
751config LOWMEM_SIZE_BOOL
752 bool "Set maximum low memory"
753 depends on ADVANCED_OPTIONS
754 help
755 This option allows you to set the maximum amount of memory which
756 will be used as "low memory", that is, memory which the kernel can
757 access directly, without having to set up a kernel virtual mapping.
758 This can be useful in optimizing the layout of kernel virtual
759 memory.
760
761 Say N here unless you know what you are doing.
762
763config LOWMEM_SIZE
764 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
765 default "0x30000000"
766
767config KERNEL_START_BOOL
768 bool "Set custom kernel base address"
769 depends on ADVANCED_OPTIONS
770 help
771 This option allows you to set the kernel virtual address at which
772 the kernel will map low memory (the kernel image will be linked at
773 this address). This can be useful in optimizing the virtual memory
774 layout of the system.
775
776 Say N here unless you know what you are doing.
777
778config KERNEL_START
779 hex "Virtual address of kernel base" if KERNEL_START_BOOL
780 default "0xc0000000"
781
782config TASK_SIZE_BOOL
783 bool "Set custom user task size"
784 depends on ADVANCED_OPTIONS
785 help
786 This option allows you to set the amount of virtual address space
787 allocated to user tasks. This can be useful in optimizing the
788 virtual memory layout of the system.
789
790 Say N here unless you know what you are doing.
791
792config TASK_SIZE
793 hex "Size of user task space" if TASK_SIZE_BOOL
794 default "0x80000000"
795
796config CONSISTENT_START_BOOL
797 bool "Set custom consistent memory pool address"
798 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
799 help
800 This option allows you to set the base virtual address
Matt LaPlante4b3f6862006-10-03 22:21:02 +0200801 of the consistent memory pool. This pool of virtual
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000802 memory is used to make consistent memory allocations.
803
804config CONSISTENT_START
805 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
806 default "0xff100000" if NOT_COHERENT_CACHE
807
808config CONSISTENT_SIZE_BOOL
809 bool "Set custom consistent memory pool size"
810 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
811 help
Matt LaPlante4b3f6862006-10-03 22:21:02 +0200812 This option allows you to set the size of the
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000813 consistent memory pool. This pool of virtual memory
814 is used to make consistent memory allocations.
815
816config CONSISTENT_SIZE
817 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
818 default "0x00200000" if NOT_COHERENT_CACHE
819
820config BOOT_LOAD_BOOL
821 bool "Set the boot link/load address"
822 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
823 help
824 This option allows you to set the initial load address of the zImage
825 or zImage.initrd file. This can be useful if you are on a board
826 which has a small amount of memory.
827
828 Say N here unless you know what you are doing.
829
830config BOOT_LOAD
831 hex "Link/load address for booting" if BOOT_LOAD_BOOL
832 default "0x00400000" if 40x || 8xx || 8260
833 default "0x01000000" if 44x
834 default "0x00800000"
835
836config PIN_TLB
837 bool "Pinned Kernel TLBs (860 ONLY)"
838 depends on ADVANCED_OPTIONS && 8xx
839endmenu
840
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000841if PPC64
842config KERNEL_START
843 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000844 default "0xc000000000000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000845endif
846
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000847source "net/Kconfig"
848
849source "drivers/Kconfig"
850
851source "fs/Kconfig"
852
853# XXX source "arch/ppc/8xx_io/Kconfig"
854
855# XXX source "arch/ppc/8260_io/Kconfig"
856
Li Yang98658532006-10-03 23:10:46 -0500857source "arch/powerpc/sysdev/qe_lib/Kconfig"
858
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000859source "lib/Kconfig"
860
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800861menu "Instrumentation Support"
Kumar Gala98750262007-04-12 18:01:34 -0500862 depends on EXPERIMENTAL
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800863
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000864source "arch/powerpc/oprofile/Kconfig"
865
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800866config KPROBES
867 bool "Kprobes (EXPERIMENTAL)"
Kumar Gala82090032007-02-06 22:55:19 -0600868 depends on !BOOKE && !4xx && KALLSYMS && EXPERIMENTAL && MODULES
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800869 help
870 Kprobes allows you to trap at almost any kernel address and
871 execute a callback function. register_kprobe() establishes
872 a probepoint and specifies the callback. Kprobes is useful
873 for kernel debugging, non-intrusive instrumentation and testing.
874 If in doubt, say "N".
875endmenu
876
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000877source "arch/powerpc/Kconfig.debug"
878
879source "security/Kconfig"
880
881config KEYS_COMPAT
882 bool
883 depends on COMPAT && KEYS
884 default y
885
886source "crypto/Kconfig"