blob: de6b49cd6be8d5b5c208afb0d4db8669abdfe9aa [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
Benjamin Herrenschmidta1f242f2008-07-23 21:27:08 -0700114 select HAVE_IOREMAP_PROT
Johannes Berg58340a02008-07-25 01:45:33 -0700115 select HAVE_EFFICIENT_UNALIGNED_ACCESS
Mathieu Desnoyers3f550092008-02-02 15:10:35 -0500116 select HAVE_KPROBES
Jason Wessel17ce4522008-07-23 11:30:15 -0500117 select HAVE_ARCH_KGDB
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -0800118 select HAVE_KRETPROBES
David S. Millerd9b2b2a2008-02-13 16:56:49 -0800119 select HAVE_LMB
Takashi Iwai7ff86b02008-07-16 02:20:11 +0200120 select HAVE_DMA_ATTRS if PPC64
Jens Axboeb7d7a242008-06-26 11:22:13 +0200121 select USE_GENERIC_SMP_HELPERS if SMP
Steven Rostedt4e491d12008-05-14 23:49:44 -0400122 select HAVE_OPROFILE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000123
124config EARLY_PRINTK
125 bool
Benjamin Herrenschmidt51d30822005-11-23 17:57:25 +1100126 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000127
128config COMPAT
129 bool
130 default y if PPC64
Roland McGrath01e31db2008-01-02 17:03:11 -0800131 select COMPAT_BINFMT_ELF
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000132
133config SYSVIPC_COMPAT
134 bool
135 depends on COMPAT && SYSVIPC
136 default y
137
138# All PPC32s use generic nvram driver through ppc_md
139config GENERIC_NVRAM
140 bool
141 default y if PPC32
142
143config SCHED_NO_NO_OMIT_FRAME_POINTER
144 bool
145 default y
146
147config ARCH_MAY_HAVE_PC_FDC
148 bool
Stephen Rothwellbed59272007-03-04 17:04:44 +1100149 default !PPC_PSERIES || PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000150
Kumar Gala08264cb2006-01-10 21:43:56 -0600151config PPC_OF
152 def_bool y
153
Stephen Rothwell97e873e2007-05-01 16:26:07 +1000154config OF
155 def_bool y
156
Kumar Gala08264cb2006-01-10 21:43:56 -0600157config PPC_UDBG_16550
158 bool
159 default n
160
Kumar Gala08264cb2006-01-10 21:43:56 -0600161config GENERIC_TBSYNC
162 bool
163 default y if PPC32 && SMP
164 default n
165
Al Viroe65e1fc2006-09-12 03:04:40 -0400166config AUDIT_ARCH
167 bool
168 default y
169
Jeremy Fitzhardinge73c9cea2006-12-08 03:30:41 -0800170config GENERIC_BUG
171 bool
172 default y
173 depends on BUG
174
Johannes Bergb3028872007-03-20 05:18:02 +1100175config SYS_SUPPORTS_APM_EMULATION
Kumar Gala58da10b2007-05-23 09:51:46 -0500176 default y if PMAC_APM_EMU
Johannes Bergb3028872007-03-20 05:18:02 +1100177 bool
178
Kumar Galaf4fc4a52006-01-16 10:53:22 -0600179config DEFAULT_UIMAGE
180 bool
181 help
182 Used to allow a board to specify it wants a uImage built by default
183 default n
184
Scott Woodb09c1642008-01-17 16:31:40 -0600185config REDBOOT
186 bool
187
Johannes Berg801e4062007-12-08 02:12:39 +0100188config HIBERNATE_32
Johannes Berg543b9fd2007-05-03 22:31:38 +1000189 bool
Johannes Berg801e4062007-12-08 02:12:39 +0100190 depends on (PPC_PMAC && !SMP) || BROKEN
191 default y
192
193config HIBERNATE_64
194 bool
195 depends on BROKEN || (PPC_PMAC64 && EXPERIMENTAL)
196 default y
197
198config ARCH_HIBERNATION_POSSIBLE
199 bool
200 depends on (PPC64 && HIBERNATE_64) || (PPC32 && HIBERNATE_32)
Johannes Berg543b9fd2007-05-03 22:31:38 +1000201 default y
202
Johannes Bergf4cb5702007-12-08 02:14:00 +0100203config ARCH_SUSPEND_POSSIBLE
204 def_bool y
Scott Woodd49747b2007-10-09 12:37:13 -0500205 depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx
Johannes Bergf4cb5702007-12-08 02:14:00 +0100206
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100207config PPC_DCR_NATIVE
208 bool
209 default n
210
211config PPC_DCR_MMIO
212 bool
213 default n
214
215config PPC_DCR
216 bool
217 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
218 default y
219
Benjamin Herrenschmidt4c9d2802006-11-11 17:25:08 +1100220config PPC_OF_PLATFORM_PCI
221 bool
Stephen Rothwell373a6da2007-12-21 15:37:07 +1100222 depends on PCI
Benjamin Herrenschmidt4c9d2802006-11-11 17:25:08 +1100223 depends on PPC64 # not supported on 32 bits yet
224 default n
225
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000226source "init/Kconfig"
227
Benjamin Herrenschmidta2d2e1e2007-12-21 15:39:24 +1100228source "arch/powerpc/sysdev/Kconfig"
Kumar Gala4330f5d2007-03-16 09:32:17 -0500229source "arch/powerpc/platforms/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000230
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000231menu "Kernel options"
232
233config HIGHMEM
234 bool "High memory support"
235 depends on PPC32
236
Tony Breeds1ad74992007-09-21 13:26:03 +1000237source kernel/time/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000238source kernel/Kconfig.hz
239source kernel/Kconfig.preempt
240source "fs/Kconfig.binfmt"
241
Mel Gormanba72cb82007-11-28 16:21:13 -0800242config HUGETLB_PAGE_SIZE_VARIABLE
243 bool
244 depends on HUGETLB_PAGE
245 default y
246
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000247config MATH_EMULATION
248 bool "Math emulation"
Kumar Gala4d527192007-01-26 00:23:34 -0600249 depends on 4xx || 8xx || E200 || PPC_MPC832x || E500
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000250 ---help---
251 Some PowerPC chips designed for embedded applications do not have
252 a floating-point unit and therefore do not implement the
253 floating-point instructions in the PowerPC instruction set. If you
254 say Y here, the kernel will include code to emulate a floating-point
255 unit, which will allow programs that use floating-point
256 instructions to run.
257
Scott Wood5dd57a12007-09-18 15:29:35 -0500258config 8XX_MINIMAL_FPEMU
259 bool "Minimal math emulation for 8xx"
260 depends on 8xx && !MATH_EMULATION
261 help
262 Older arch/ppc kernels still emulated a few floating point
263 instructions such as load and store, even when full math
264 emulation is disabled. Say "Y" here if you want to preserve
265 this behavior.
266
267 It is recommended that you build a soft-float userspace instead.
268
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000269config IOMMU_VMERGE
Linas Vepstas768cc2d2007-07-18 02:09:35 +1000270 bool "Enable IOMMU virtual merging"
271 depends on PPC64
272 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000273 help
274 Cause IO segments sent to a device for DMA to be merged virtually
275 by the IOMMU when they happen to have been allocated contiguously.
276 This doesn't add pressure to the IOMMU allocator. However, some
277 drivers don't support getting large merged segments coming back
Linas Vepstas768cc2d2007-07-18 02:09:35 +1000278 from *_map_sg().
279
280 Most drivers don't have this problem; it is safe to say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000281
FUJITA Tomonorifb3475e2008-02-04 22:28:08 -0800282config IOMMU_HELPER
283 def_bool PPC64
284
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000285config HOTPLUG_CPU
286 bool "Support for enabling/disabling CPUs"
287 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
288 ---help---
289 Say Y here to be able to disable and re-enable individual
290 CPUs at runtime on SMP machines.
291
292 Say N if you are unsure.
293
Yasunori Gotocc576372006-06-29 02:24:27 -0700294config ARCH_ENABLE_MEMORY_HOTPLUG
295 def_bool y
296
Badari Pulavartya99824f2008-02-05 00:10:18 -0800297config ARCH_HAS_WALK_MEMORY
298 def_bool y
299
Badari Pulavarty14824712008-02-05 00:10:17 -0800300config ARCH_ENABLE_MEMORY_HOTREMOVE
301 def_bool y
302
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000303config KEXEC
304 bool "kexec system call (EXPERIMENTAL)"
Dale Farnsworthfd4ba7e2007-05-12 10:58:43 +1000305 depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000306 help
307 kexec is a system call that implements the ability to shutdown your
308 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400309 but it is independent of the system firmware. And like a reboot
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000310 you can start any kernel with it, not just Linux.
311
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400312 The name comes from the similarity to the exec system call.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000313
314 It is an ongoing process to be certain the hardware in a machine
315 is properly shutdown, so do not be surprised if this code does not
316 initially work for you. It may help to enable device hotplugging
317 support. As of this writing the exact hardware interface is
318 strongly in flux, so no good recommendation can be made.
319
Haren Mynenie8625d462006-01-14 13:48:25 -0800320config CRASH_DUMP
Bernhard Walle3420b5d2008-06-27 03:02:15 +1000321 bool "Build a kdump crash kernel"
322 depends on PPC_MULTIPLATFORM && PPC64
Haren Mynenie8625d462006-01-14 13:48:25 -0800323 help
324 Build a kernel suitable for use as a kdump capture kernel.
325 The kernel will be linked at a different address than normal, and
326 so can only be used for Kdump.
327
328 Don't change this unless you know what you are doing.
329
Manish Ahuja242f2712008-03-22 10:50:50 +1100330config PHYP_DUMP
331 bool "Hypervisor-assisted dump (EXPERIMENTAL)"
332 depends on PPC_PSERIES && EXPERIMENTAL
333 help
334 Hypervisor-assisted dump is meant to be a kdump replacement
335 offering robustness and speed not possible without system
336 hypervisor assistence.
337
338 If unsure, say "N"
339
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000340config PPCBUG_NVRAM
341 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
342 default y if PPC_PREP
343
344config IRQ_ALL_CPUS
345 bool "Distribute interrupts on all CPUs by default"
346 depends on SMP && !MV64360
347 help
348 This option gives the kernel permission to distribute IRQs across
349 multiple CPUs. Saying N here will route all IRQs to the first
350 CPU. Generally saying Y is safe, although some problems have been
351 reported with SMP Power Macintoshes with this option enabled.
352
Andy Whitcroftffa27b62005-10-28 17:46:58 -0700353config NUMA
354 bool "NUMA support"
355 depends on PPC64
356 default y if SMP && PPC_PSERIES
357
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700358config NODES_SHIFT
359 int
360 default "4"
361 depends on NEED_MULTIPLE_NODES
362
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000363config ARCH_SELECT_MEMORY_MODEL
364 def_bool y
365 depends on PPC64
366
367config ARCH_FLATMEM_ENABLE
Andy Whitcroft9100b202005-11-29 19:20:55 +0000368 def_bool y
369 depends on (PPC64 && !NUMA) || PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000370
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000371config ARCH_SPARSEMEM_ENABLE
372 def_bool y
Andy Whitcroft9100b202005-11-29 19:20:55 +0000373 depends on PPC64
Andy Whitcroftd29eff72007-10-16 01:24:17 -0700374 select SPARSEMEM_VMEMMAP_ENABLE
Anton Blanchard45fb6ce2005-11-11 14:22:35 +1100375
376config ARCH_SPARSEMEM_DEFAULT
377 def_bool y
Benjamin Herrenschmidt78bde532007-02-13 11:46:06 +1100378 depends on (SMP && PPC_PSERIES) || PPC_PS3
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000379
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700380config ARCH_POPULATES_NODE_MAP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000381 def_bool y
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700382
383source "mm/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000384
Mike Kravetz7e9191d2005-11-07 09:39:48 -0800385config ARCH_MEMORY_PROBE
386 def_bool y
387 depends on MEMORY_HOTPLUG
388
Andy Whitcroft75167952006-10-21 10:24:14 -0700389# Some NUMA nodes have memory ranges that span
390# other nodes. Even though a pfn is valid and
391# between a node's start and end pfns, it may not
392# reside on that node. See memmap_init_zone()
393# for details.
394config NODES_SPAN_OTHER_NODES
395 def_bool y
396 depends on NEED_MULTIPLE_NODES
397
Benjamin Herrenschmidt16c2d472007-05-08 16:27:28 +1000398config PPC_HAS_HASH_64K
399 bool
400 depends on PPC64
401 default n
402
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100403config PPC_64K_PAGES
404 bool "64k page size"
Benjamin Herrenschmidt863c84b2005-11-07 00:57:58 -0800405 depends on PPC64
Benjamin Herrenschmidt16c2d472007-05-08 16:27:28 +1000406 select PPC_HAS_HASH_64K
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100407 help
408 This option changes the kernel logical page size to 64k. On machines
Kumar Gala98750262007-04-12 18:01:34 -0500409 without processor support for 64k pages, the kernel will simulate
410 them by loading each individual 4k page on demand transparently,
411 while on hardware with such support, it will be used to map
412 normal application pages.
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100413
Stephen Rothwell53bcddb2008-04-11 11:11:56 +1000414config FORCE_MAX_ZONEORDER
415 int "Maximum zone order"
416 default "9" if PPC_64K_PAGES
417 default "13" if PPC64 && !PPC_64K_PAGES
418 default "11"
419 help
420 The kernel memory allocator divides physically contiguous memory
421 blocks into "zones", where each zone is a power of two number of
422 pages. This option selects the largest power of two that the kernel
423 keeps in the memory allocator. If you need to allocate very large
424 blocks of physically contiguous memory, then you may need to
425 increase this value.
426
427 This config option is actually maximum order plus one. For example,
428 a value of 11 means that the largest free memory block is 2^10 pages.
429
430 The page size is not necessarily 4KB. For example, on 64-bit
431 systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep
432 this in mind when choosing a value for this option.
433
Paul Mackerrasfa282372008-01-24 08:35:13 +1100434config PPC_SUBPAGE_PROT
435 bool "Support setting protections for 4k subpages"
436 depends on PPC_64K_PAGES
437 help
438 This option adds support for a system call to allow user programs
439 to set access permissions (read/write, readonly, or no access)
440 on the 4k subpages of each 64k page.
441
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000442config SCHED_SMT
443 bool "SMT (Hyperthreading) scheduler support"
444 depends on PPC64 && SMP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000445 help
446 SMT scheduler support improves the CPU scheduler's decision making
447 when dealing with POWER5 cpus at a cost of slightly increased
448 overhead in some places. If unsure say N here.
449
450config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000451 bool "Support for device tree in /proc"
452 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000453 help
454 This option adds a device-tree directory under /proc which contains
455 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000456 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000457
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000458config CMDLINE_BOOL
459 bool "Default bootloader kernel arguments"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000460
461config CMDLINE
462 string "Initial kernel command string"
463 depends on CMDLINE_BOOL
464 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
465 help
466 On some platforms, there is currently no way for the boot loader to
467 pass arguments to the kernel. For these platforms, you can supply
468 some command-line options at build time by entering them here. In
469 most cases you will need to specify the root device here.
470
Grant Likelyc356aa42008-07-09 09:41:52 -0600471config EXTRA_TARGETS
472 string "Additional default image types"
473 help
474 List additional targets to be built by the bootwrapper here (separated
475 by spaces). This is useful for targets that depend of device tree
476 files in the .dts directory.
477
478 Targets in this list will be build as part of the default build
479 target, or when the user does a 'make zImage' or a
480 'make zImage.initrd'.
481
482 If unsure, leave blank
483
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000484if !44x || BROKEN
Johannes Bergb28f5082008-01-15 23:17:00 -0500485config ARCH_WANTS_FREEZER_CONTROL
486 def_bool y
487 depends on ADB_PMU
488
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000489source kernel/power/Kconfig
490endif
491
492config SECCOMP
493 bool "Enable seccomp to safely compute untrusted bytecode"
494 depends on PROC_FS
495 default y
496 help
497 This kernel feature is useful for number crunching applications
498 that may need to compute untrusted bytecode during their
499 execution. By using pipes or other transports made available to
500 the process as file descriptors supporting the read/write
501 syscalls, it's possible to isolate those applications in
502 their own address space using seccomp. Once seccomp is
503 enabled via /proc/<pid>/seccomp, it cannot be disabled
504 and the task is only allowed to execute a few safe syscalls
505 defined by each seccomp mode.
506
507 If unsure, say Y. Only embedded should say N here.
508
509endmenu
510
511config ISA_DMA_API
512 bool
Stephen Rothwell373a6da2007-12-21 15:37:07 +1100513 default !PPC_ISERIES || PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000514
515menu "Bus options"
516
517config ISA
518 bool "Support for ISA-bus hardware"
519 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000520 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000521 help
522 Find out whether you have ISA slots on your motherboard. ISA is the
523 name of a bus system, i.e. the way the CPU talks to the other stuff
524 inside your box. If you have an Apple machine, say N here; if you
525 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
526 you have an embedded board, consult your board documentation.
527
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800528config ZONE_DMA
529 bool
530 default y
531
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000532config GENERIC_ISA_DMA
533 bool
534 depends on PPC64 || POWER4 || 6xx && !CPM2
535 default y
536
Paul Mackerras25635c72005-10-26 16:36:55 +1000537config PPC_INDIRECT_PCI
538 bool
539 depends on PCI
Becky Bruce63dafe52006-01-14 16:57:39 -0600540 default y if 40x || 44x
Paul Mackerras25635c72005-10-26 16:36:55 +1000541 default n
542
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000543config EISA
544 bool
545
546config SBUS
547 bool
548
Kumar Gala08264cb2006-01-10 21:43:56 -0600549config FSL_SOC
550 bool
551
Roy Zang55c44992007-07-10 18:44:34 +0800552config FSL_PCI
553 bool
554 select PPC_INDIRECT_PCI
555
Stefan Roese2a706912008-03-26 22:39:50 +1100556config 4xx_SOC
557 bool
558
Anton Vorontsovacaa7aa2008-04-11 21:03:40 +0400559config FSL_LBC
560 bool
561 help
562 Freescale Localbus support
563
Anton Vorontsov83ff9dc2008-05-23 20:38:54 +0400564config FSL_GTM
565 bool
566 depends on PPC_83xx || QUICC_ENGINE || CPM2
567 help
568 Freescale General-purpose Timers support
569
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000570# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
571config MCA
572 bool
573
John Rigbyb5005632008-06-26 11:07:56 -0600574# Platforms that what PCI turned unconditionally just do select PCI
575# in their config node. Platforms that want to choose at config
576# time should select PPC_PCI_CHOICE
577config PPC_PCI_CHOICE
578 bool
579
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000580config PCI
John Rigbyb5005632008-06-26 11:07:56 -0600581 bool "PCI support" if PPC_PCI_CHOICE
582 default y if !40x && !CPM2 && !8xx && !PPC_83xx \
Jon Loeliger53158622006-08-09 10:37:28 -0500583 && !PPC_85xx && !PPC_86xx
David Gibsonf21f49e2007-06-13 14:52:54 +1000584 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000585 default PCI_QSPAN if !4xx && !CPM2 && 8xx
Michael Ellermandf87ef52007-05-08 12:58:34 +1000586 select ARCH_SUPPORTS_MSI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000587 help
588 Find out whether your system includes a PCI bus. PCI is the name of
589 a bus system, i.e. the way the CPU talks to the other stuff inside
590 your box. If you say Y here, the kernel will include drivers and
591 infrastructure code to support PCI bus devices.
592
593config PCI_DOMAINS
Matthew Wilcox36e23592007-07-10 10:54:40 -0600594 def_bool PCI
595
596config PCI_SYSCALL
597 def_bool PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000598
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000599config PCI_QSPAN
600 bool "QSpan PCI"
601 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000602 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000603 help
604 Say Y here if you have a system based on a Motorola 8xx-series
605 embedded processor with a QSPAN PCI interface, otherwise say N.
606
607config PCI_8260
608 bool
609 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +1000610 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000611 default y
612
613config 8260_PCI9
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700614 bool "Enable workaround for MPC826x erratum PCI 9"
Scott Woode00c5492007-09-14 15:41:56 -0500615 depends on PCI_8260 && !8272
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000616 default y
617
618choice
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700619 prompt "IDMA channel for PCI 9 workaround"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000620 depends on 8260_PCI9
621
622config 8260_PCI9_IDMA1
623 bool "IDMA1"
624
625config 8260_PCI9_IDMA2
626 bool "IDMA2"
627
628config 8260_PCI9_IDMA3
629 bool "IDMA3"
630
631config 8260_PCI9_IDMA4
632 bool "IDMA4"
633
634endchoice
635
Jake Moilanenbb53bb32006-06-07 16:05:46 -0500636source "drivers/pci/pcie/Kconfig"
637
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000638source "drivers/pci/Kconfig"
639
640source "drivers/pcmcia/Kconfig"
641
642source "drivers/pci/hotplug/Kconfig"
643
Zhang Weif1f389d2008-04-18 13:33:39 -0700644config HAS_RAPIDIO
645 bool
646 default n
647
648config RAPIDIO
649 bool "RapidIO support"
650 depends on HAS_RAPIDIO
651 help
652 If you say Y here, the kernel will include drivers and
653 infrastructure code to support RapidIO interconnect devices.
654
655source "drivers/rapidio/Kconfig"
656
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000657endmenu
658
659menu "Advanced setup"
660 depends on PPC32
661
662config ADVANCED_OPTIONS
663 bool "Prompt for advanced kernel configuration options"
664 help
665 This option will enable prompting for a variety of advanced kernel
666 configuration options. These options can cause the kernel to not
667 work if they are set incorrectly, but can be used to optimize certain
668 aspects of kernel memory management.
669
670 Unless you know what you are doing, say N here.
671
672comment "Default settings for advanced configuration options are used"
673 depends on !ADVANCED_OPTIONS
674
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000675config LOWMEM_SIZE_BOOL
676 bool "Set maximum low memory"
677 depends on ADVANCED_OPTIONS
678 help
679 This option allows you to set the maximum amount of memory which
680 will be used as "low memory", that is, memory which the kernel can
681 access directly, without having to set up a kernel virtual mapping.
682 This can be useful in optimizing the layout of kernel virtual
683 memory.
684
685 Say N here unless you know what you are doing.
686
687config LOWMEM_SIZE
688 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
689 default "0x30000000"
690
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000691config RELOCATABLE
692 bool "Build a relocatable kernel (EXPERIMENTAL)"
693 depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
694 help
695 This builds a kernel image that is capable of running at the
696 location the kernel is loaded at (some alignment restrictions may
697 exist).
698
699 One use is for the kexec on panic case where the recovery kernel
700 must live at a different physical address than the primary
701 kernel.
702
703 Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
704 it has been loaded at and the compile time physical addresses
705 CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START
706 setting can still be useful to bootwrappers that need to know the
707 load location of the kernel (eg. u-boot/mkimage).
708
709config PAGE_OFFSET_BOOL
710 bool "Set custom page offset address"
711 depends on ADVANCED_OPTIONS
712 help
713 This option allows you to set the kernel virtual address at which
714 the kernel will map low memory. This can be useful in optimizing
715 the virtual memory layout of the system.
716
717 Say N here unless you know what you are doing.
718
719config PAGE_OFFSET
720 hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
721 default "0xc0000000"
722
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000723config KERNEL_START_BOOL
724 bool "Set custom kernel base address"
725 depends on ADVANCED_OPTIONS
726 help
727 This option allows you to set the kernel virtual address at which
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000728 the kernel will be loaded. Normally this should match PAGE_OFFSET
729 however there are times (like kdump) that one might not want them
730 to be the same.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000731
732 Say N here unless you know what you are doing.
733
734config KERNEL_START
735 hex "Virtual address of kernel base" if KERNEL_START_BOOL
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000736 default PAGE_OFFSET if PAGE_OFFSET_BOOL
737 default "0xc2000000" if CRASH_DUMP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000738 default "0xc0000000"
739
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000740config PHYSICAL_START_BOOL
741 bool "Set physical address where the kernel is loaded"
742 depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
743 help
744 This gives the physical address where the kernel is loaded.
745
746 Say N here unless you know what you are doing.
747
748config PHYSICAL_START
749 hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
750 default "0x02000000" if PPC_STD_MMU && CRASH_DUMP
751 default "0x00000000"
752
753config PHYSICAL_ALIGN
754 hex
755 default "0x10000000" if FSL_BOOKE
756 help
757 This value puts the alignment restrictions on physical address
758 where kernel is loaded and run from. Kernel is compiled for an
759 address which meets above alignment restriction.
760
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000761config TASK_SIZE_BOOL
762 bool "Set custom user task size"
763 depends on ADVANCED_OPTIONS
764 help
765 This option allows you to set the amount of virtual address space
766 allocated to user tasks. This can be useful in optimizing the
767 virtual memory layout of the system.
768
769 Say N here unless you know what you are doing.
770
771config TASK_SIZE
772 hex "Size of user task space" if TASK_SIZE_BOOL
Kumar Gala4d9e55102007-10-11 13:40:21 -0500773 default "0x80000000" if PPC_PREP || PPC_8xx
774 default "0xc0000000"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000775
776config CONSISTENT_START_BOOL
777 bool "Set custom consistent memory pool address"
778 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
779 help
780 This option allows you to set the base virtual address
Matt LaPlante4b3f6862006-10-03 22:21:02 +0200781 of the consistent memory pool. This pool of virtual
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000782 memory is used to make consistent memory allocations.
783
784config CONSISTENT_START
785 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
Scott Woodccf0d682007-07-16 11:28:18 -0500786 default "0xfd000000" if (NOT_COHERENT_CACHE && 8xx)
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000787 default "0xff100000" if NOT_COHERENT_CACHE
788
789config CONSISTENT_SIZE_BOOL
790 bool "Set custom consistent memory pool size"
791 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
792 help
Matt LaPlante4b3f6862006-10-03 22:21:02 +0200793 This option allows you to set the size of the
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000794 consistent memory pool. This pool of virtual memory
795 is used to make consistent memory allocations.
796
797config CONSISTENT_SIZE
798 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
799 default "0x00200000" if NOT_COHERENT_CACHE
800
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000801config PIN_TLB
802 bool "Pinned Kernel TLBs (860 ONLY)"
803 depends on ADVANCED_OPTIONS && 8xx
804endmenu
805
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000806if PPC64
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000807config PAGE_OFFSET
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000808 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +1000809 default "0xc000000000000000"
Kumar Gala37dd2ba2008-04-22 04:22:34 +1000810config KERNEL_START
811 hex
812 default "0xc000000002000000" if CRASH_DUMP
813 default "0xc000000000000000"
814config PHYSICAL_START
815 hex
816 default "0x02000000" if CRASH_DUMP
817 default "0x00000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +1000818endif
819
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000820source "net/Kconfig"
821
822source "drivers/Kconfig"
823
824source "fs/Kconfig"
825
826# XXX source "arch/ppc/8xx_io/Kconfig"
827
828# XXX source "arch/ppc/8260_io/Kconfig"
829
Li Yang98658532006-10-03 23:10:46 -0500830source "arch/powerpc/sysdev/qe_lib/Kconfig"
831
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000832source "lib/Kconfig"
833
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000834source "arch/powerpc/Kconfig.debug"
835
836source "security/Kconfig"
837
838config KEYS_COMPAT
839 bool
840 depends on COMPAT && KEYS
841 default y
842
843source "crypto/Kconfig"
Domen Puncer6f668282007-09-21 00:00:11 +1000844
845config PPC_CLOCK
846 bool
847 default n
David Brownell9483a572008-07-23 21:26:48 -0700848 select HAVE_CLK
Sylvain Munaut1088a202007-09-16 20:53:25 +1000849
850config PPC_LIB_RHEAP
851 bool
852
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500853source "arch/powerpc/kvm/Kconfig"