blob: 737ebf9d12bb9aca170de68098c758f796d46b0f [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
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +10007source "arch/powerpc/platforms/Kconfig.cputype"
Johannes Berg17e638b2007-03-19 11:53:53 +01008
Paul Mackerras14cf11a2005-09-26 16:04:21 +10009config PPC32
10 bool
11 default y if !PPC64
12
13config 64BIT
14 bool
15 default y if PPC64
16
Stephen Rothwell2578bfa2007-09-21 10:16:20 +100017config WORD_SIZE
18 int
19 default 64 if PPC64
20 default 32 if !PPC64
21
Paul Mackerras14cf11a2005-09-26 16:04:21 +100022config PPC_MERGE
23 def_bool y
24
25config MMU
26 bool
27 default y
28
Tony Breedsaa3be5f2007-09-21 13:26:02 +100029config GENERIC_CMOS_UPDATE
30 def_bool y
31
Tony Breeds4a4cfe32007-09-22 07:35:52 +100032config GENERIC_TIME
33 def_bool y
34
35config GENERIC_TIME_VSYSCALL
36 def_bool y
37
Tony Breedsd831d0b2007-09-21 13:26:03 +100038config GENERIC_CLOCKEVENTS
39 def_bool y
40
Paul Mackerras14cf11a2005-09-26 16:04:21 +100041config GENERIC_HARDIRQS
42 bool
43 default y
44
travis@sgi.com988c3882008-01-30 23:27:58 +010045config HAVE_SETUP_PER_CPU_AREA
travis@sgi.comb32ef632008-01-30 13:32:51 +010046 def_bool PPC64
47
Ingo Molnar0d7012a2006-06-29 02:24:43 -070048config IRQ_PER_CPU
49 bool
50 default y
51
Christoph Hellwigfd3e0bb2008-04-17 14:35:00 +100052config STACKTRACE_SUPPORT
53 bool
54 default y
55
Arnd Bergmann01f4b8b2008-07-11 00:08:18 +100056config HAVE_LATENCYTOP_SUPPORT
57 def_bool y
58
Benjamin Herrenschmidt945feb12008-04-17 14:35:01 +100059config TRACE_IRQFLAGS_SUPPORT
60 bool
61 depends on PPC64
62 default y
63
64config LOCKDEP_SUPPORT
65 bool
66 default y
67
Paul Mackerras14cf11a2005-09-26 16:04:21 +100068config RWSEM_GENERIC_SPINLOCK
69 bool
70
71config RWSEM_XCHGADD_ALGORITHM
72 bool
73 default y
74
Nick Piggin95c354f2008-01-30 13:31:20 +010075config GENERIC_LOCKBREAK
76 bool
77 default y
78 depends on SMP && PREEMPT
79
David Howellsf0d1b0b2006-12-08 02:37:49 -080080config ARCH_HAS_ILOG2_U32
81 bool
David Howellsef55d532006-12-08 02:37:53 -080082 default y
David Howellsf0d1b0b2006-12-08 02:37:49 -080083
84config ARCH_HAS_ILOG2_U64
85 bool
David Howellsef55d532006-12-08 02:37:53 -080086 default y if 64BIT
David Howellsf0d1b0b2006-12-08 02:37:49 -080087
Akinobu Mitae779b2f2006-03-26 01:39:33 -080088config GENERIC_HWEIGHT
89 bool
90 default y
91
Paul Mackerras14cf11a2005-09-26 16:04:21 +100092config GENERIC_CALIBRATE_DELAY
93 bool
94 default y
95
Jon Mason0a9cb462006-05-19 15:35:32 -050096config GENERIC_FIND_NEXT_BIT
97 bool
98 default y
99
Anton Vorontsovb7ce3412008-04-11 23:06:36 +1000100config GENERIC_GPIO
101 bool
102 help
103 Generic GPIO API support
104
Stephen Rothwellf057eac2007-07-15 23:40:05 -0700105config ARCH_NO_VIRT_TO_BUS
106 def_bool PPC64
107
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000108config PPC
109 bool
110 default y
Steven Rostedt677aa9f2008-05-17 00:01:36 -0400111 select HAVE_DYNAMIC_FTRACE
Steven Rostedt4e491d12008-05-14 23:49:44 -0400112 select HAVE_FTRACE
Sam Ravnborgec7748b2008-02-09 10:46:40 +0100113 select HAVE_IDE
Mathieu Desnoyers3f550092008-02-02 15:10:35 -0500114 select HAVE_KPROBES
Jason Wessel17ce4522008-07-23 11:30:15 -0500115 select HAVE_ARCH_KGDB
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -0800116 select HAVE_KRETPROBES
David S. Millerd9b2b2a2008-02-13 16:56:49 -0800117 select HAVE_LMB
Takashi Iwai7ff86b02008-07-16 02:20:11 +0200118 select HAVE_DMA_ATTRS if PPC64
Jens Axboeb7d7a242008-06-26 11:22:13 +0200119 select USE_GENERIC_SMP_HELPERS if SMP
Steven Rostedt4e491d12008-05-14 23:49:44 -0400120 select HAVE_OPROFILE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000121
122config EARLY_PRINTK
123 bool
Benjamin Herrenschmidt51d30822005-11-23 17:57:25 +1100124 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000125
126config COMPAT
127 bool
128 default y if PPC64
Roland McGrath01e31db2008-01-02 17:03:11 -0800129 select COMPAT_BINFMT_ELF
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000130
131config SYSVIPC_COMPAT
132 bool
133 depends on COMPAT && SYSVIPC
134 default y
135
136# All PPC32s use generic nvram driver through ppc_md
137config GENERIC_NVRAM
138 bool
139 default y if PPC32
140
141config SCHED_NO_NO_OMIT_FRAME_POINTER
142 bool
143 default y
144
145config ARCH_MAY_HAVE_PC_FDC
146 bool
Stephen Rothwellbed59272007-03-04 17:04:44 +1100147 default !PPC_PSERIES || PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000148
Kumar Gala08264cb2006-01-10 21:43:56 -0600149config PPC_OF
150 def_bool y
151
Stephen Rothwell97e873e2007-05-01 16:26:07 +1000152config OF
153 def_bool y
154
Kumar Gala08264cb2006-01-10 21:43:56 -0600155config PPC_UDBG_16550
156 bool
157 default n
158
Kumar Gala08264cb2006-01-10 21:43:56 -0600159config GENERIC_TBSYNC
160 bool
161 default y if PPC32 && SMP
162 default n
163
Al Viroe65e1fc2006-09-12 03:04:40 -0400164config AUDIT_ARCH
165 bool
166 default y
167
Jeremy Fitzhardinge73c9cea2006-12-08 03:30:41 -0800168config GENERIC_BUG
169 bool
170 default y
171 depends on BUG
172
Johannes Bergb3028872007-03-20 05:18:02 +1100173config SYS_SUPPORTS_APM_EMULATION
Kumar Gala58da10b2007-05-23 09:51:46 -0500174 default y if PMAC_APM_EMU
Johannes Bergb3028872007-03-20 05:18:02 +1100175 bool
176
Kumar Galaf4fc4a52006-01-16 10:53:22 -0600177config DEFAULT_UIMAGE
178 bool
179 help
180 Used to allow a board to specify it wants a uImage built by default
181 default n
182
Scott Woodb09c1642008-01-17 16:31:40 -0600183config REDBOOT
184 bool
185
Johannes Berg801e4062007-12-08 02:12:39 +0100186config HIBERNATE_32
Johannes Berg543b9fd2007-05-03 22:31:38 +1000187 bool
Johannes Berg801e4062007-12-08 02:12:39 +0100188 depends on (PPC_PMAC && !SMP) || BROKEN
189 default y
190
191config HIBERNATE_64
192 bool
193 depends on BROKEN || (PPC_PMAC64 && EXPERIMENTAL)
194 default y
195
196config ARCH_HIBERNATION_POSSIBLE
197 bool
198 depends on (PPC64 && HIBERNATE_64) || (PPC32 && HIBERNATE_32)
Johannes Berg543b9fd2007-05-03 22:31:38 +1000199 default y
200
Johannes Bergf4cb5702007-12-08 02:14:00 +0100201config ARCH_SUSPEND_POSSIBLE
202 def_bool y
Scott Woodd49747b2007-10-09 12:37:13 -0500203 depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx
Johannes Bergf4cb5702007-12-08 02:14:00 +0100204
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100205config PPC_DCR_NATIVE
206 bool
207 default n
208
209config PPC_DCR_MMIO
210 bool
211 default n
212
213config PPC_DCR
214 bool
215 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
216 default y
217
Benjamin Herrenschmidt4c9d2802006-11-11 17:25:08 +1100218config PPC_OF_PLATFORM_PCI
219 bool
Stephen Rothwell373a6da2007-12-21 15:37:07 +1100220 depends on PCI
Benjamin Herrenschmidt4c9d2802006-11-11 17:25:08 +1100221 depends on PPC64 # not supported on 32 bits yet
222 default n
223
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000224source "init/Kconfig"
225
Benjamin Herrenschmidta2d2e1e2007-12-21 15:39:24 +1100226source "arch/powerpc/sysdev/Kconfig"
Kumar Gala4330f5d2007-03-16 09:32:17 -0500227source "arch/powerpc/platforms/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000228
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000229menu "Kernel options"
230
231config HIGHMEM
232 bool "High memory support"
233 depends on PPC32
234
Tony Breeds1ad74992007-09-21 13:26:03 +1000235source kernel/time/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000236source kernel/Kconfig.hz
237source kernel/Kconfig.preempt
238source "fs/Kconfig.binfmt"
239
Mel Gormanba72cb82007-11-28 16:21:13 -0800240config HUGETLB_PAGE_SIZE_VARIABLE
241 bool
242 depends on HUGETLB_PAGE
243 default y
244
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000245config MATH_EMULATION
246 bool "Math emulation"
Kumar Gala4d527192007-01-26 00:23:34 -0600247 depends on 4xx || 8xx || E200 || PPC_MPC832x || E500
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000248 ---help---
249 Some PowerPC chips designed for embedded applications do not have
250 a floating-point unit and therefore do not implement the
251 floating-point instructions in the PowerPC instruction set. If you
252 say Y here, the kernel will include code to emulate a floating-point
253 unit, which will allow programs that use floating-point
254 instructions to run.
255
Scott Wood5dd57a12007-09-18 15:29:35 -0500256config 8XX_MINIMAL_FPEMU
257 bool "Minimal math emulation for 8xx"
258 depends on 8xx && !MATH_EMULATION
259 help
260 Older arch/ppc kernels still emulated a few floating point
261 instructions such as load and store, even when full math
262 emulation is disabled. Say "Y" here if you want to preserve
263 this behavior.
264
265 It is recommended that you build a soft-float userspace instead.
266
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000267config IOMMU_VMERGE
Linas Vepstas768cc2d2007-07-18 02:09:35 +1000268 bool "Enable IOMMU virtual merging"
269 depends on PPC64
270 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000271 help
272 Cause IO segments sent to a device for DMA to be merged virtually
273 by the IOMMU when they happen to have been allocated contiguously.
274 This doesn't add pressure to the IOMMU allocator. However, some
275 drivers don't support getting large merged segments coming back
Linas Vepstas768cc2d2007-07-18 02:09:35 +1000276 from *_map_sg().
277
278 Most drivers don't have this problem; it is safe to say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000279
FUJITA Tomonorifb3475e2008-02-04 22:28:08 -0800280config IOMMU_HELPER
281 def_bool PPC64
282
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000283config HOTPLUG_CPU
284 bool "Support for enabling/disabling CPUs"
285 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
286 ---help---
287 Say Y here to be able to disable and re-enable individual
288 CPUs at runtime on SMP machines.
289
290 Say N if you are unsure.
291
Yasunori Gotocc576372006-06-29 02:24:27 -0700292config ARCH_ENABLE_MEMORY_HOTPLUG
293 def_bool y
294
Badari Pulavartya99824f2008-02-05 00:10:18 -0800295config ARCH_HAS_WALK_MEMORY
296 def_bool y
297
Badari Pulavarty14824712008-02-05 00:10:17 -0800298config ARCH_ENABLE_MEMORY_HOTREMOVE
299 def_bool y
300
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000301config KEXEC
302 bool "kexec system call (EXPERIMENTAL)"
Dale Farnsworthfd4ba7e2007-05-12 10:58:43 +1000303 depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000304 help
305 kexec is a system call that implements the ability to shutdown your
306 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400307 but it is independent of the system firmware. And like a reboot
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000308 you can start any kernel with it, not just Linux.
309
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400310 The name comes from the similarity to the exec system call.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000311
312 It is an ongoing process to be certain the hardware in a machine
313 is properly shutdown, so do not be surprised if this code does not
314 initially work for you. It may help to enable device hotplugging
315 support. As of this writing the exact hardware interface is
316 strongly in flux, so no good recommendation can be made.
317
Haren Mynenie8625d462006-01-14 13:48:25 -0800318config CRASH_DUMP
Bernhard Walle3420b5d2008-06-27 03:02:15 +1000319 bool "Build a kdump crash kernel"
320 depends on PPC_MULTIPLATFORM && PPC64
Haren Mynenie8625d462006-01-14 13:48:25 -0800321 help
322 Build a kernel suitable for use as a kdump capture kernel.
323 The kernel will be linked at a different address than normal, and
324 so can only be used for Kdump.
325
326 Don't change this unless you know what you are doing.
327
Manish Ahuja242f2712008-03-22 10:50:50 +1100328config PHYP_DUMP
329 bool "Hypervisor-assisted dump (EXPERIMENTAL)"
330 depends on PPC_PSERIES && EXPERIMENTAL
331 help
332 Hypervisor-assisted dump is meant to be a kdump replacement
333 offering robustness and speed not possible without system
334 hypervisor assistence.
335
336 If unsure, say "N"
337
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000338config PPCBUG_NVRAM
339 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
340 default y if PPC_PREP
341
342config IRQ_ALL_CPUS
343 bool "Distribute interrupts on all CPUs by default"
344 depends on SMP && !MV64360
345 help
346 This option gives the kernel permission to distribute IRQs across
347 multiple CPUs. Saying N here will route all IRQs to the first
348 CPU. Generally saying Y is safe, although some problems have been
349 reported with SMP Power Macintoshes with this option enabled.
350
Andy Whitcroftffa27b62005-10-28 17:46:58 -0700351config NUMA
352 bool "NUMA support"
353 depends on PPC64
354 default y if SMP && PPC_PSERIES
355
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700356config NODES_SHIFT
357 int
358 default "4"
359 depends on NEED_MULTIPLE_NODES
360
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000361config ARCH_SELECT_MEMORY_MODEL
362 def_bool y
363 depends on PPC64
364
365config ARCH_FLATMEM_ENABLE
Andy Whitcroft9100b202005-11-29 19:20:55 +0000366 def_bool y
367 depends on (PPC64 && !NUMA) || PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000368
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000369config ARCH_SPARSEMEM_ENABLE
370 def_bool y
Andy Whitcroft9100b202005-11-29 19:20:55 +0000371 depends on PPC64
Andy Whitcroftd29eff72007-10-16 01:24:17 -0700372 select SPARSEMEM_VMEMMAP_ENABLE
Anton Blanchard45fb6ce2005-11-11 14:22:35 +1100373
374config ARCH_SPARSEMEM_DEFAULT
375 def_bool y
Benjamin Herrenschmidt78bde532007-02-13 11:46:06 +1100376 depends on (SMP && PPC_PSERIES) || PPC_PS3
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000377
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700378config ARCH_POPULATES_NODE_MAP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000379 def_bool y
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700380
381source "mm/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000382
Mike Kravetz7e9191d2005-11-07 09:39:48 -0800383config ARCH_MEMORY_PROBE
384 def_bool y
385 depends on MEMORY_HOTPLUG
386
Andy Whitcroft75167952006-10-21 10:24:14 -0700387# Some NUMA nodes have memory ranges that span
388# other nodes. Even though a pfn is valid and
389# between a node's start and end pfns, it may not
390# reside on that node. See memmap_init_zone()
391# for details.
392config NODES_SPAN_OTHER_NODES
393 def_bool y
394 depends on NEED_MULTIPLE_NODES
395
Benjamin Herrenschmidt16c2d472007-05-08 16:27:28 +1000396config PPC_HAS_HASH_64K
397 bool
398 depends on PPC64
399 default n
400
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100401config PPC_64K_PAGES
402 bool "64k page size"
Benjamin Herrenschmidt863c84b2005-11-07 00:57:58 -0800403 depends on PPC64
Benjamin Herrenschmidt16c2d472007-05-08 16:27:28 +1000404 select PPC_HAS_HASH_64K
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100405 help
406 This option changes the kernel logical page size to 64k. On machines
Kumar Gala98750262007-04-12 18:01:34 -0500407 without processor support for 64k pages, the kernel will simulate
408 them by loading each individual 4k page on demand transparently,
409 while on hardware with such support, it will be used to map
410 normal application pages.
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100411
Stephen Rothwell53bcddb2008-04-11 11:11:56 +1000412config FORCE_MAX_ZONEORDER
413 int "Maximum zone order"
414 default "9" if PPC_64K_PAGES
415 default "13" if PPC64 && !PPC_64K_PAGES
416 default "11"
417 help
418 The kernel memory allocator divides physically contiguous memory
419 blocks into "zones", where each zone is a power of two number of
420 pages. This option selects the largest power of two that the kernel
421 keeps in the memory allocator. If you need to allocate very large
422 blocks of physically contiguous memory, then you may need to
423 increase this value.
424
425 This config option is actually maximum order plus one. For example,
426 a value of 11 means that the largest free memory block is 2^10 pages.
427
428 The page size is not necessarily 4KB. For example, on 64-bit
429 systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
430 this in mind when choosing a value for this option.
431
Paul Mackerrasfa282372008-01-24 08:35:13 +1100432config PPC_SUBPAGE_PROT
433 bool "Support setting protections for 4k subpages"
434 depends on PPC_64K_PAGES
435 help
436 This option adds support for a system call to allow user programs
437 to set access permissions (read/write, readonly, or no access)
438 on the 4k subpages of each 64k page.
439
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000440config SCHED_SMT
441 bool "SMT (Hyperthreading) scheduler support"
442 depends on PPC64 && SMP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000443 help
444 SMT scheduler support improves the CPU scheduler's decision making
445 when dealing with POWER5 cpus at a cost of slightly increased
446 overhead in some places. If unsure say N here.
447
448config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000449 bool "Support for device tree in /proc"
450 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000451 help
452 This option adds a device-tree directory under /proc which contains
453 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000454 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000455
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000456config CMDLINE_BOOL
457 bool "Default bootloader kernel arguments"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000458
459config CMDLINE
460 string "Initial kernel command string"
461 depends on CMDLINE_BOOL
462 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
463 help
464 On some platforms, there is currently no way for the boot loader to
465 pass arguments to the kernel. For these platforms, you can supply
466 some command-line options at build time by entering them here. In
467 most cases you will need to specify the root device here.
468
Grant Likelyc356aa42008-07-09 09:41:52 -0600469config EXTRA_TARGETS
470 string "Additional default image types"
471 help
472 List additional targets to be built by the bootwrapper here (separated
473 by spaces). This is useful for targets that depend of device tree
474 files in the .dts directory.
475
476 Targets in this list will be build as part of the default build
477 target, or when the user does a 'make zImage' or a
478 'make zImage.initrd'.
479
480 If unsure, leave blank
481
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000482if !44x || BROKEN
Johannes Bergb28f5082008-01-15 23:17:00 -0500483config ARCH_WANTS_FREEZER_CONTROL
484 def_bool y
485 depends on ADB_PMU
486
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000487source kernel/power/Kconfig
488endif
489
490config SECCOMP
491 bool "Enable seccomp to safely compute untrusted bytecode"
492 depends on PROC_FS
493 default y
494 help
495 This kernel feature is useful for number crunching applications
496 that may need to compute untrusted bytecode during their
497 execution. By using pipes or other transports made available to
498 the process as file descriptors supporting the read/write
499 syscalls, it's possible to isolate those applications in
500 their own address space using seccomp. Once seccomp is
501 enabled via /proc/<pid>/seccomp, it cannot be disabled
502 and the task is only allowed to execute a few safe syscalls
503 defined by each seccomp mode.
504
505 If unsure, say Y. Only embedded should say N here.
506
507endmenu
508
509config ISA_DMA_API
510 bool
Stephen Rothwell373a6da2007-12-21 15:37:07 +1100511 default !PPC_ISERIES || PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000512
513menu "Bus options"
514
515config ISA
516 bool "Support for ISA-bus hardware"
517 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000518 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000519 help
520 Find out whether you have ISA slots on your motherboard. ISA is the
521 name of a bus system, i.e. the way the CPU talks to the other stuff
522 inside your box. If you have an Apple machine, say N here; if you
523 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
524 you have an embedded board, consult your board documentation.
525
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800526config ZONE_DMA
527 bool
528 default y
529
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000530config GENERIC_ISA_DMA
531 bool
532 depends on PPC64 || POWER4 || 6xx && !CPM2
533 default y
534
Paul Mackerras25635c72005-10-26 16:36:55 +1000535config PPC_INDIRECT_PCI
536 bool
537 depends on PCI
Becky Bruce63dafe52006-01-14 16:57:39 -0600538 default y if 40x || 44x
Paul Mackerras25635c72005-10-26 16:36:55 +1000539 default n
540
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000541config EISA
542 bool
543
544config SBUS
545 bool
546
Kumar Gala08264cb2006-01-10 21:43:56 -0600547config FSL_SOC
548 bool
549
Roy Zang55c44992007-07-10 18:44:34 +0800550config FSL_PCI
551 bool
552 select PPC_INDIRECT_PCI
553
Stefan Roese2a706912008-03-26 22:39:50 +1100554config 4xx_SOC
555 bool
556
Anton Vorontsovacaa7aa2008-04-11 21:03:40 +0400557config FSL_LBC
558 bool
559 help
560 Freescale Localbus support
561
Anton Vorontsov83ff9dc2008-05-23 20:38:54 +0400562config FSL_GTM
563 bool
564 depends on PPC_83xx || QUICC_ENGINE || CPM2
565 help
566 Freescale General-purpose Timers support
567
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000568# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
569config MCA
570 bool
571
John Rigbyb5005632008-06-26 11:07:56 -0600572# Platforms that what PCI turned unconditionally just do select PCI
573# in their config node. Platforms that want to choose at config
574# time should select PPC_PCI_CHOICE
575config PPC_PCI_CHOICE
576 bool
577
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000578config PCI
John Rigbyb5005632008-06-26 11:07:56 -0600579 bool "PCI support" if PPC_PCI_CHOICE
580 default y if !40x && !CPM2 && !8xx && !PPC_83xx \
Jon Loeliger53158622006-08-09 10:37:28 -0500581 && !PPC_85xx && !PPC_86xx
David Gibsonf21f49e2007-06-13 14:52:54 +1000582 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000583 default PCI_QSPAN if !4xx && !CPM2 && 8xx
Michael Ellermandf87ef52007-05-08 12:58:34 +1000584 select ARCH_SUPPORTS_MSI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000585 help
586 Find out whether your system includes a PCI bus. PCI is the name of
587 a bus system, i.e. the way the CPU talks to the other stuff inside
588 your box. If you say Y here, the kernel will include drivers and
589 infrastructure code to support PCI bus devices.
590
591config PCI_DOMAINS
Matthew Wilcox36e23592007-07-10 10:54:40 -0600592 def_bool PCI
593
594config PCI_SYSCALL
595 def_bool PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000596
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000597config PCI_QSPAN
598 bool "QSpan PCI"
599 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000600 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000601 help
602 Say Y here if you have a system based on a Motorola 8xx-series
603 embedded processor with a QSPAN PCI interface, otherwise say N.
604
605config PCI_8260
606 bool
607 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +1000608 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000609 default y
610
611config 8260_PCI9
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700612 bool "Enable workaround for MPC826x erratum PCI 9"
Scott Woode00c5492007-09-14 15:41:56 -0500613 depends on PCI_8260 && !8272
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000614 default y
615
616choice
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700617 prompt "IDMA channel for PCI 9 workaround"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000618 depends on 8260_PCI9
619
620config 8260_PCI9_IDMA1
621 bool "IDMA1"
622
623config 8260_PCI9_IDMA2
624 bool "IDMA2"
625
626config 8260_PCI9_IDMA3
627 bool "IDMA3"
628
629config 8260_PCI9_IDMA4
630 bool "IDMA4"
631
632endchoice
633
Jake Moilanenbb53bb32006-06-07 16:05:46 -0500634source "drivers/pci/pcie/Kconfig"
635
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000636source "drivers/pci/Kconfig"
637
638source "drivers/pcmcia/Kconfig"
639
640source "drivers/pci/hotplug/Kconfig"
641
Zhang Weif1f389d2008-04-18 13:33:39 -0700642config HAS_RAPIDIO
643 bool
644 default n
645
646config RAPIDIO
647 bool "RapidIO support"
648 depends on HAS_RAPIDIO
649 help
650 If you say Y here, the kernel will include drivers and
651 infrastructure code to support RapidIO interconnect devices.
652
653source "drivers/rapidio/Kconfig"
654
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000655endmenu
656
657menu "Advanced setup"
658 depends on PPC32
659
660config ADVANCED_OPTIONS
661 bool "Prompt for advanced kernel configuration options"
662 help
663 This option will enable prompting for a variety of advanced kernel
664 configuration options. These options can cause the kernel to not
665 work if they are set incorrectly, but can be used to optimize certain
666 aspects of kernel memory management.
667
668 Unless you know what you are doing, say N here.
669
670comment "Default settings for advanced configuration options are used"
671 depends on !ADVANCED_OPTIONS
672
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000673config LOWMEM_SIZE_BOOL
674 bool "Set maximum low memory"
675 depends on ADVANCED_OPTIONS
676 help
677 This option allows you to set the maximum amount of memory which
678 will be used as "low memory", that is, memory which the kernel can
679 access directly, without having to set up a kernel virtual mapping.
680 This can be useful in optimizing the layout of kernel virtual
681 memory.
682
683 Say N here unless you know what you are doing.
684
685config LOWMEM_SIZE
686 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
687 default "0x30000000"
688
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000689config RELOCATABLE
690 bool "Build a relocatable kernel (EXPERIMENTAL)"
691 depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
692 help
693 This builds a kernel image that is capable of running at the
694 location the kernel is loaded at (some alignment restrictions may
695 exist).
696
697 One use is for the kexec on panic case where the recovery kernel
698 must live at a different physical address than the primary
699 kernel.
700
701 Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
702 it has been loaded at and the compile time physical addresses
703 CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START
704 setting can still be useful to bootwrappers that need to know the
705 load location of the kernel (eg. u-boot/mkimage).
706
707config PAGE_OFFSET_BOOL
708 bool "Set custom page offset address"
709 depends on ADVANCED_OPTIONS
710 help
711 This option allows you to set the kernel virtual address at which
712 the kernel will map low memory. This can be useful in optimizing
713 the virtual memory layout of the system.
714
715 Say N here unless you know what you are doing.
716
717config PAGE_OFFSET
718 hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
719 default "0xc0000000"
720
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000721config KERNEL_START_BOOL
722 bool "Set custom kernel base address"
723 depends on ADVANCED_OPTIONS
724 help
725 This option allows you to set the kernel virtual address at which
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000726 the kernel will be loaded. Normally this should match PAGE_OFFSET
727 however there are times (like kdump) that one might not want them
728 to be the same.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000729
730 Say N here unless you know what you are doing.
731
732config KERNEL_START
733 hex "Virtual address of kernel base" if KERNEL_START_BOOL
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000734 default PAGE_OFFSET if PAGE_OFFSET_BOOL
735 default "0xc2000000" if CRASH_DUMP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000736 default "0xc0000000"
737
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000738config PHYSICAL_START_BOOL
739 bool "Set physical address where the kernel is loaded"
740 depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
741 help
742 This gives the physical address where the kernel is loaded.
743
744 Say N here unless you know what you are doing.
745
746config PHYSICAL_START
747 hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
748 default "0x02000000" if PPC_STD_MMU && CRASH_DUMP
749 default "0x00000000"
750
751config PHYSICAL_ALIGN
752 hex
753 default "0x10000000" if FSL_BOOKE
754 help
755 This value puts the alignment restrictions on physical address
756 where kernel is loaded and run from. Kernel is compiled for an
757 address which meets above alignment restriction.
758
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000759config TASK_SIZE_BOOL
760 bool "Set custom user task size"
761 depends on ADVANCED_OPTIONS
762 help
763 This option allows you to set the amount of virtual address space
764 allocated to user tasks. This can be useful in optimizing the
765 virtual memory layout of the system.
766
767 Say N here unless you know what you are doing.
768
769config TASK_SIZE
770 hex "Size of user task space" if TASK_SIZE_BOOL
Kumar Gala4d9e55102007-10-11 13:40:21 -0500771 default "0x80000000" if PPC_PREP || PPC_8xx
772 default "0xc0000000"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000773
774config CONSISTENT_START_BOOL
775 bool "Set custom consistent memory pool address"
776 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
777 help
778 This option allows you to set the base virtual address
Matt LaPlante4b3f6862006-10-03 22:21:02 +0200779 of the consistent memory pool. This pool of virtual
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000780 memory is used to make consistent memory allocations.
781
782config CONSISTENT_START
783 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
Scott Woodccf0d682007-07-16 11:28:18 -0500784 default "0xfd000000" if (NOT_COHERENT_CACHE && 8xx)
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000785 default "0xff100000" if NOT_COHERENT_CACHE
786
787config CONSISTENT_SIZE_BOOL
788 bool "Set custom consistent memory pool size"
789 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
790 help
Matt LaPlante4b3f6862006-10-03 22:21:02 +0200791 This option allows you to set the size of the
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000792 consistent memory pool. This pool of virtual memory
793 is used to make consistent memory allocations.
794
795config CONSISTENT_SIZE
796 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
797 default "0x00200000" if NOT_COHERENT_CACHE
798
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000799config PIN_TLB
800 bool "Pinned Kernel TLBs (860 ONLY)"
801 depends on ADVANCED_OPTIONS && 8xx
802endmenu
803
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000804if PPC64
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000805config PAGE_OFFSET
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000806 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000807 default "0xc000000000000000"
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000808config KERNEL_START
809 hex
810 default "0xc000000002000000" if CRASH_DUMP
811 default "0xc000000000000000"
812config PHYSICAL_START
813 hex
814 default "0x02000000" if CRASH_DUMP
815 default "0x00000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000816endif
817
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000818source "net/Kconfig"
819
820source "drivers/Kconfig"
821
822source "fs/Kconfig"
823
824# XXX source "arch/ppc/8xx_io/Kconfig"
825
826# XXX source "arch/ppc/8260_io/Kconfig"
827
Li Yang98658532006-10-03 23:10:46 -0500828source "arch/powerpc/sysdev/qe_lib/Kconfig"
829
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000830source "lib/Kconfig"
831
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000832source "arch/powerpc/Kconfig.debug"
833
834source "security/Kconfig"
835
836config KEYS_COMPAT
837 bool
838 depends on COMPAT && KEYS
839 default y
840
841source "crypto/Kconfig"
Domen Puncer6f668282007-09-21 00:00:11 +1000842
843config PPC_CLOCK
844 bool
845 default n
Sylvain Munaut1088a202007-09-16 20:53:25 +1000846
847config PPC_LIB_RHEAP
848 bool
849
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500850source "arch/powerpc/kvm/Kconfig"