| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 1 | # For a description of the syntax of this configuration file, | 
 | 2 | # see Documentation/kbuild/kconfig-language.txt. | 
 | 3 | # | 
 | 4 |  | 
 | 5 | mainmenu "Linux/PowerPC Kernel Configuration" | 
 | 6 |  | 
| Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 7 | source "arch/powerpc/platforms/Kconfig.cputype" | 
| Johannes Berg | 17e638b | 2007-03-19 11:53:53 +0100 | [diff] [blame] | 8 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 9 | config PPC32 | 
 | 10 | 	bool | 
 | 11 | 	default y if !PPC64 | 
 | 12 |  | 
 | 13 | config 64BIT | 
 | 14 | 	bool | 
 | 15 | 	default y if PPC64 | 
 | 16 |  | 
 | 17 | config PPC_MERGE | 
 | 18 | 	def_bool y | 
 | 19 |  | 
 | 20 | config MMU | 
 | 21 | 	bool | 
 | 22 | 	default y | 
 | 23 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 24 | config GENERIC_HARDIRQS | 
 | 25 | 	bool | 
 | 26 | 	default y | 
 | 27 |  | 
| Ingo Molnar | 0d7012a | 2006-06-29 02:24:43 -0700 | [diff] [blame] | 28 | config IRQ_PER_CPU | 
 | 29 | 	bool | 
 | 30 | 	default y | 
 | 31 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 32 | config RWSEM_GENERIC_SPINLOCK | 
 | 33 | 	bool | 
 | 34 |  | 
 | 35 | config RWSEM_XCHGADD_ALGORITHM | 
 | 36 | 	bool | 
 | 37 | 	default y | 
 | 38 |  | 
| David Howells | f0d1b0b | 2006-12-08 02:37:49 -0800 | [diff] [blame] | 39 | config ARCH_HAS_ILOG2_U32 | 
 | 40 | 	bool | 
| David Howells | ef55d53 | 2006-12-08 02:37:53 -0800 | [diff] [blame] | 41 | 	default y | 
| David Howells | f0d1b0b | 2006-12-08 02:37:49 -0800 | [diff] [blame] | 42 |  | 
 | 43 | config ARCH_HAS_ILOG2_U64 | 
 | 44 | 	bool | 
| David Howells | ef55d53 | 2006-12-08 02:37:53 -0800 | [diff] [blame] | 45 | 	default y if 64BIT | 
| David Howells | f0d1b0b | 2006-12-08 02:37:49 -0800 | [diff] [blame] | 46 |  | 
| Akinobu Mita | e779b2f | 2006-03-26 01:39:33 -0800 | [diff] [blame] | 47 | config GENERIC_HWEIGHT | 
 | 48 | 	bool | 
 | 49 | 	default y | 
 | 50 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 51 | config GENERIC_CALIBRATE_DELAY | 
 | 52 | 	bool | 
 | 53 | 	default y | 
 | 54 |  | 
| Jon Mason | 0a9cb46 | 2006-05-19 15:35:32 -0500 | [diff] [blame] | 55 | config GENERIC_FIND_NEXT_BIT | 
 | 56 | 	bool | 
 | 57 | 	default y | 
 | 58 |  | 
| Stephen Rothwell | f057eac | 2007-07-15 23:40:05 -0700 | [diff] [blame] | 59 | config ARCH_NO_VIRT_TO_BUS | 
 | 60 | 	def_bool PPC64 | 
 | 61 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 62 | config PPC | 
 | 63 | 	bool | 
 | 64 | 	default y | 
 | 65 |  | 
 | 66 | config EARLY_PRINTK | 
 | 67 | 	bool | 
| Benjamin Herrenschmidt | 51d3082 | 2005-11-23 17:57:25 +1100 | [diff] [blame] | 68 | 	default y | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 69 |  | 
 | 70 | config COMPAT | 
 | 71 | 	bool | 
 | 72 | 	default y if PPC64 | 
 | 73 |  | 
 | 74 | config SYSVIPC_COMPAT | 
 | 75 | 	bool | 
 | 76 | 	depends on COMPAT && SYSVIPC | 
 | 77 | 	default y | 
 | 78 |  | 
 | 79 | # All PPC32s use generic nvram driver through ppc_md | 
 | 80 | config GENERIC_NVRAM | 
 | 81 | 	bool | 
 | 82 | 	default y if PPC32 | 
 | 83 |  | 
 | 84 | config SCHED_NO_NO_OMIT_FRAME_POINTER | 
 | 85 | 	bool | 
 | 86 | 	default y | 
 | 87 |  | 
 | 88 | config ARCH_MAY_HAVE_PC_FDC | 
 | 89 | 	bool | 
| Stephen Rothwell | bed5927 | 2007-03-04 17:04:44 +1100 | [diff] [blame] | 90 | 	default !PPC_PSERIES || PCI | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 91 |  | 
| Kumar Gala | 08264cb | 2006-01-10 21:43:56 -0600 | [diff] [blame] | 92 | config PPC_OF | 
 | 93 | 	def_bool y | 
 | 94 |  | 
| Stephen Rothwell | 97e873e | 2007-05-01 16:26:07 +1000 | [diff] [blame] | 95 | config OF | 
 | 96 | 	def_bool y | 
 | 97 |  | 
| Kumar Gala | 08264cb | 2006-01-10 21:43:56 -0600 | [diff] [blame] | 98 | config PPC_UDBG_16550 | 
 | 99 | 	bool | 
 | 100 | 	default n | 
 | 101 |  | 
| Kumar Gala | 08264cb | 2006-01-10 21:43:56 -0600 | [diff] [blame] | 102 | config GENERIC_TBSYNC | 
 | 103 | 	bool | 
 | 104 | 	default y if PPC32 && SMP | 
 | 105 | 	default n | 
 | 106 |  | 
| Al Viro | e65e1fc | 2006-09-12 03:04:40 -0400 | [diff] [blame] | 107 | config AUDIT_ARCH | 
 | 108 | 	bool | 
 | 109 | 	default y | 
 | 110 |  | 
| Jeremy Fitzhardinge | 73c9cea | 2006-12-08 03:30:41 -0800 | [diff] [blame] | 111 | config GENERIC_BUG | 
 | 112 | 	bool | 
 | 113 | 	default y | 
 | 114 | 	depends on BUG | 
 | 115 |  | 
| Johannes Berg | b302887 | 2007-03-20 05:18:02 +1100 | [diff] [blame] | 116 | config SYS_SUPPORTS_APM_EMULATION | 
| Kumar Gala | 58da10b | 2007-05-23 09:51:46 -0500 | [diff] [blame] | 117 | 	default y if PMAC_APM_EMU | 
| Johannes Berg | b302887 | 2007-03-20 05:18:02 +1100 | [diff] [blame] | 118 | 	bool | 
 | 119 |  | 
| Kumar Gala | f4fc4a5 | 2006-01-16 10:53:22 -0600 | [diff] [blame] | 120 | config 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 |  | 
| Johannes Berg | 543b9fd | 2007-05-03 22:31:38 +1000 | [diff] [blame] | 126 | config PPC64_SWSUSP | 
 | 127 | 	bool | 
 | 128 | 	depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL)) | 
 | 129 | 	default y | 
 | 130 |  | 
| Benjamin Herrenschmidt | 4c75a6f | 2006-11-11 17:24:53 +1100 | [diff] [blame] | 131 | config PPC_DCR_NATIVE | 
 | 132 | 	bool | 
 | 133 | 	default n | 
 | 134 |  | 
 | 135 | config PPC_DCR_MMIO | 
 | 136 | 	bool | 
 | 137 | 	default n | 
 | 138 |  | 
 | 139 | config PPC_DCR | 
 | 140 | 	bool | 
 | 141 | 	depends on PPC_DCR_NATIVE || PPC_DCR_MMIO | 
 | 142 | 	default y | 
 | 143 |  | 
| Benjamin Herrenschmidt | 4c9d280 | 2006-11-11 17:25:08 +1100 | [diff] [blame] | 144 | config PPC_OF_PLATFORM_PCI | 
 | 145 | 	bool | 
 | 146 | 	depends on PPC64 # not supported on 32 bits yet | 
 | 147 | 	default n | 
 | 148 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 149 | source "init/Kconfig" | 
 | 150 |  | 
| Kumar Gala | 4330f5d | 2007-03-16 09:32:17 -0500 | [diff] [blame] | 151 | source "arch/powerpc/platforms/Kconfig" | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 152 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 153 | menu "Kernel options" | 
 | 154 |  | 
 | 155 | config HIGHMEM | 
 | 156 | 	bool "High memory support" | 
 | 157 | 	depends on PPC32 | 
 | 158 |  | 
 | 159 | source kernel/Kconfig.hz | 
 | 160 | source kernel/Kconfig.preempt | 
 | 161 | source "fs/Kconfig.binfmt" | 
 | 162 |  | 
 | 163 | # We optimistically allocate largepages from the VM, so make the limit | 
 | 164 | # large enough (16MB). This badly named config option is actually | 
 | 165 | # max order + 1 | 
 | 166 | config FORCE_MAX_ZONEORDER | 
 | 167 | 	int | 
 | 168 | 	depends on PPC64 | 
| Mike Kravetz | 0286486 | 2005-11-07 13:48:59 -0800 | [diff] [blame] | 169 | 	default "9" if PPC_64K_PAGES | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 170 | 	default "13" | 
 | 171 |  | 
 | 172 | config MATH_EMULATION | 
 | 173 | 	bool "Math emulation" | 
| Kumar Gala | 4d52719 | 2007-01-26 00:23:34 -0600 | [diff] [blame] | 174 | 	depends on 4xx || 8xx || E200 || PPC_MPC832x || E500 | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 175 | 	---help--- | 
 | 176 | 	  Some PowerPC chips designed for embedded applications do not have | 
 | 177 | 	  a floating-point unit and therefore do not implement the | 
 | 178 | 	  floating-point instructions in the PowerPC instruction set.  If you | 
 | 179 | 	  say Y here, the kernel will include code to emulate a floating-point | 
 | 180 | 	  unit, which will allow programs that use floating-point | 
 | 181 | 	  instructions to run. | 
 | 182 |  | 
 | 183 | config IOMMU_VMERGE | 
 | 184 | 	bool "Enable IOMMU virtual merging (EXPERIMENTAL)" | 
 | 185 | 	depends on EXPERIMENTAL && PPC64 | 
 | 186 | 	default n | 
 | 187 | 	help | 
 | 188 | 	  Cause IO segments sent to a device for DMA to be merged virtually | 
 | 189 | 	  by the IOMMU when they happen to have been allocated contiguously. | 
 | 190 | 	  This doesn't add pressure to the IOMMU allocator. However, some | 
 | 191 | 	  drivers don't support getting large merged segments coming back | 
 | 192 | 	  from *_map_sg(). Say Y if you know the drivers you are using are | 
 | 193 | 	  properly handling this case. | 
 | 194 |  | 
 | 195 | config HOTPLUG_CPU | 
 | 196 | 	bool "Support for enabling/disabling CPUs" | 
 | 197 | 	depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) | 
 | 198 | 	---help--- | 
 | 199 | 	  Say Y here to be able to disable and re-enable individual | 
 | 200 | 	  CPUs at runtime on SMP machines. | 
 | 201 |  | 
 | 202 | 	  Say N if you are unsure. | 
 | 203 |  | 
| Yasunori Goto | cc57637 | 2006-06-29 02:24:27 -0700 | [diff] [blame] | 204 | config ARCH_ENABLE_MEMORY_HOTPLUG | 
 | 205 | 	def_bool y | 
 | 206 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 207 | config KEXEC | 
 | 208 | 	bool "kexec system call (EXPERIMENTAL)" | 
| Dale Farnsworth | fd4ba7e | 2007-05-12 10:58:43 +1000 | [diff] [blame] | 209 | 	depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 210 | 	help | 
 | 211 | 	  kexec is a system call that implements the ability to shutdown your | 
 | 212 | 	  current kernel, and to start another kernel.  It is like a reboot | 
| Matt LaPlante | 1f1332f | 2006-06-29 01:32:47 -0400 | [diff] [blame] | 213 | 	  but it is independent of the system firmware.   And like a reboot | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 214 | 	  you can start any kernel with it, not just Linux. | 
 | 215 |  | 
| Matt LaPlante | 1f1332f | 2006-06-29 01:32:47 -0400 | [diff] [blame] | 216 | 	  The name comes from the similarity to the exec system call. | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 217 |  | 
 | 218 | 	  It is an ongoing process to be certain the hardware in a machine | 
 | 219 | 	  is properly shutdown, so do not be surprised if this code does not | 
 | 220 | 	  initially work for you.  It may help to enable device hotplugging | 
 | 221 | 	  support.  As of this writing the exact hardware interface is | 
 | 222 | 	  strongly in flux, so no good recommendation can be made. | 
 | 223 |  | 
| Haren Myneni | e8625d46 | 2006-01-14 13:48:25 -0800 | [diff] [blame] | 224 | config CRASH_DUMP | 
| Michael Ellerman | cd9c99d | 2006-03-10 15:01:08 +1100 | [diff] [blame] | 225 | 	bool "Build a kdump crash kernel (EXPERIMENTAL)" | 
| Haren Myneni | e8625d46 | 2006-01-14 13:48:25 -0800 | [diff] [blame] | 226 | 	depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL | 
 | 227 | 	help | 
 | 228 | 	  Build a kernel suitable for use as a kdump capture kernel. | 
 | 229 | 	  The kernel will be linked at a different address than normal, and | 
 | 230 | 	  so can only be used for Kdump. | 
 | 231 |  | 
 | 232 | 	  Don't change this unless you know what you are doing. | 
 | 233 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 234 | config PPCBUG_NVRAM | 
 | 235 | 	bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC | 
 | 236 | 	default y if PPC_PREP | 
 | 237 |  | 
 | 238 | config IRQ_ALL_CPUS | 
 | 239 | 	bool "Distribute interrupts on all CPUs by default" | 
 | 240 | 	depends on SMP && !MV64360 | 
 | 241 | 	help | 
 | 242 | 	  This option gives the kernel permission to distribute IRQs across | 
 | 243 | 	  multiple CPUs.  Saying N here will route all IRQs to the first | 
 | 244 | 	  CPU.  Generally saying Y is safe, although some problems have been | 
 | 245 | 	  reported with SMP Power Macintoshes with this option enabled. | 
 | 246 |  | 
| Andy Whitcroft | ffa27b6 | 2005-10-28 17:46:58 -0700 | [diff] [blame] | 247 | config NUMA | 
 | 248 | 	bool "NUMA support" | 
 | 249 | 	depends on PPC64 | 
 | 250 | 	default y if SMP && PPC_PSERIES | 
 | 251 |  | 
| Yasunori Goto | c80d79d | 2006-04-10 22:53:53 -0700 | [diff] [blame] | 252 | config NODES_SHIFT | 
 | 253 | 	int | 
 | 254 | 	default "4" | 
 | 255 | 	depends on NEED_MULTIPLE_NODES | 
 | 256 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 257 | config ARCH_SELECT_MEMORY_MODEL | 
 | 258 | 	def_bool y | 
 | 259 | 	depends on PPC64 | 
 | 260 |  | 
 | 261 | config ARCH_FLATMEM_ENABLE | 
| Andy Whitcroft | 9100b20 | 2005-11-29 19:20:55 +0000 | [diff] [blame] | 262 | 	def_bool y | 
 | 263 | 	depends on (PPC64 && !NUMA) || PPC32 | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 264 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 265 | config ARCH_SPARSEMEM_ENABLE | 
 | 266 | 	def_bool y | 
| Andy Whitcroft | 9100b20 | 2005-11-29 19:20:55 +0000 | [diff] [blame] | 267 | 	depends on PPC64 | 
| Anton Blanchard | 45fb6ce | 2005-11-11 14:22:35 +1100 | [diff] [blame] | 268 |  | 
 | 269 | config ARCH_SPARSEMEM_DEFAULT | 
 | 270 | 	def_bool y | 
| Benjamin Herrenschmidt | 78bde53 | 2007-02-13 11:46:06 +1100 | [diff] [blame] | 271 | 	depends on (SMP && PPC_PSERIES) || PPC_PS3 | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 272 |  | 
| Mel Gorman | c67c3cb | 2006-09-27 01:49:49 -0700 | [diff] [blame] | 273 | config ARCH_POPULATES_NODE_MAP | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 274 | 	def_bool y | 
| Mel Gorman | c67c3cb | 2006-09-27 01:49:49 -0700 | [diff] [blame] | 275 |  | 
 | 276 | source "mm/Kconfig" | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 277 |  | 
| Mike Kravetz | 7e9191d | 2005-11-07 09:39:48 -0800 | [diff] [blame] | 278 | config ARCH_MEMORY_PROBE | 
 | 279 | 	def_bool y | 
 | 280 | 	depends on MEMORY_HOTPLUG | 
 | 281 |  | 
| Andy Whitcroft | 7516795 | 2006-10-21 10:24:14 -0700 | [diff] [blame] | 282 | # Some NUMA nodes have memory ranges that span | 
 | 283 | # other nodes.  Even though a pfn is valid and | 
 | 284 | # between a node's start and end pfns, it may not | 
 | 285 | # reside on that node.  See memmap_init_zone() | 
 | 286 | # for details. | 
 | 287 | config NODES_SPAN_OTHER_NODES | 
 | 288 | 	def_bool y | 
 | 289 | 	depends on NEED_MULTIPLE_NODES | 
 | 290 |  | 
| Benjamin Herrenschmidt | 16c2d47 | 2007-05-08 16:27:28 +1000 | [diff] [blame] | 291 | config PPC_HAS_HASH_64K | 
 | 292 | 	bool | 
 | 293 | 	depends on PPC64 | 
 | 294 | 	default n | 
 | 295 |  | 
| Benjamin Herrenschmidt | 3c726f8 | 2005-11-07 11:06:55 +1100 | [diff] [blame] | 296 | config PPC_64K_PAGES | 
 | 297 | 	bool "64k page size" | 
| Benjamin Herrenschmidt | 863c84b | 2005-11-07 00:57:58 -0800 | [diff] [blame] | 298 | 	depends on PPC64 | 
| Benjamin Herrenschmidt | 16c2d47 | 2007-05-08 16:27:28 +1000 | [diff] [blame] | 299 | 	select PPC_HAS_HASH_64K | 
| Benjamin Herrenschmidt | 3c726f8 | 2005-11-07 11:06:55 +1100 | [diff] [blame] | 300 | 	help | 
 | 301 | 	  This option changes the kernel logical page size to 64k. On machines | 
| Kumar Gala | 9875026 | 2007-04-12 18:01:34 -0500 | [diff] [blame] | 302 | 	  without processor support for 64k pages, the kernel will simulate | 
 | 303 | 	  them by loading each individual 4k page on demand transparently, | 
 | 304 | 	  while on hardware with such support, it will be used to map | 
 | 305 | 	  normal application pages. | 
| Benjamin Herrenschmidt | 3c726f8 | 2005-11-07 11:06:55 +1100 | [diff] [blame] | 306 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 307 | config SCHED_SMT | 
 | 308 | 	bool "SMT (Hyperthreading) scheduler support" | 
 | 309 | 	depends on PPC64 && SMP | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 310 | 	help | 
 | 311 | 	  SMT scheduler support improves the CPU scheduler's decision making | 
 | 312 | 	  when dealing with POWER5 cpus at a cost of slightly increased | 
 | 313 | 	  overhead in some places. If unsure say N here. | 
 | 314 |  | 
 | 315 | config PROC_DEVICETREE | 
| Paul Mackerras | 5f29675 | 2005-10-17 20:14:59 +1000 | [diff] [blame] | 316 | 	bool "Support for device tree in /proc" | 
 | 317 | 	depends on PROC_FS | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 318 | 	help | 
 | 319 | 	  This option adds a device-tree directory under /proc which contains | 
 | 320 | 	  an image of the device tree that the kernel copies from Open | 
| Paul Mackerras | 5f29675 | 2005-10-17 20:14:59 +1000 | [diff] [blame] | 321 | 	  Firmware or other boot firmware. If unsure, say Y here. | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 322 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 323 | config CMDLINE_BOOL | 
 | 324 | 	bool "Default bootloader kernel arguments" | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 325 |  | 
 | 326 | config CMDLINE | 
 | 327 | 	string "Initial kernel command string" | 
 | 328 | 	depends on CMDLINE_BOOL | 
 | 329 | 	default "console=ttyS0,9600 console=tty0 root=/dev/sda2" | 
 | 330 | 	help | 
 | 331 | 	  On some platforms, there is currently no way for the boot loader to | 
 | 332 | 	  pass arguments to the kernel. For these platforms, you can supply | 
 | 333 | 	  some command-line options at build time by entering them here.  In | 
 | 334 | 	  most cases you will need to specify the root device here. | 
 | 335 |  | 
 | 336 | if !44x || BROKEN | 
 | 337 | source kernel/power/Kconfig | 
 | 338 | endif | 
 | 339 |  | 
 | 340 | config SECCOMP | 
 | 341 | 	bool "Enable seccomp to safely compute untrusted bytecode" | 
 | 342 | 	depends on PROC_FS | 
 | 343 | 	default y | 
 | 344 | 	help | 
 | 345 | 	  This kernel feature is useful for number crunching applications | 
 | 346 | 	  that may need to compute untrusted bytecode during their | 
 | 347 | 	  execution. By using pipes or other transports made available to | 
 | 348 | 	  the process as file descriptors supporting the read/write | 
 | 349 | 	  syscalls, it's possible to isolate those applications in | 
 | 350 | 	  their own address space using seccomp. Once seccomp is | 
 | 351 | 	  enabled via /proc/<pid>/seccomp, it cannot be disabled | 
 | 352 | 	  and the task is only allowed to execute a few safe syscalls | 
 | 353 | 	  defined by each seccomp mode. | 
 | 354 |  | 
 | 355 | 	  If unsure, say Y. Only embedded should say N here. | 
 | 356 |  | 
| Scott Wood | 270429b | 2007-04-17 09:24:51 +1000 | [diff] [blame] | 357 | config WANT_DEVICE_TREE | 
 | 358 | 	bool | 
 | 359 | 	default n | 
 | 360 |  | 
 | 361 | config DEVICE_TREE | 
 | 362 | 	string "Static device tree source file" | 
 | 363 | 	depends on WANT_DEVICE_TREE | 
 | 364 | 	help | 
 | 365 | 	  This specifies the device tree source (.dts) file to be | 
 | 366 | 	  compiled and included when building the bootwrapper.  If a | 
 | 367 | 	  relative filename is given, then it will be relative to | 
 | 368 | 	  arch/powerpc/boot/dts.  If you are not using the bootwrapper, | 
 | 369 | 	  or do not need to build a dts into the bootwrapper, this | 
 | 370 | 	  field is ignored. | 
 | 371 |  | 
 | 372 | 	  For example, this is required when building a cuImage target | 
 | 373 | 	  for an older U-Boot, which cannot pass a device tree itself. | 
 | 374 | 	  Such a kernel will not work with a newer U-Boot that tries to | 
 | 375 | 	  pass a device tree (unless you tell it not to).  If your U-Boot | 
 | 376 | 	  does not mention a device tree in "help bootm", then use the | 
 | 377 | 	  cuImage target and specify a device tree here.  Otherwise, use | 
 | 378 | 	  the uImage target and leave this field blank. | 
 | 379 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 380 | endmenu | 
 | 381 |  | 
 | 382 | config ISA_DMA_API | 
 | 383 | 	bool | 
 | 384 | 	default y | 
 | 385 |  | 
 | 386 | menu "Bus options" | 
 | 387 |  | 
 | 388 | config ISA | 
 | 389 | 	bool "Support for ISA-bus hardware" | 
 | 390 | 	depends on PPC_PREP || PPC_CHRP | 
| Paul Mackerras | f9bd170 | 2005-10-26 16:47:42 +1000 | [diff] [blame] | 391 | 	select PPC_I8259 | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 392 | 	help | 
 | 393 | 	  Find out whether you have ISA slots on your motherboard.  ISA is the | 
 | 394 | 	  name of a bus system, i.e. the way the CPU talks to the other stuff | 
 | 395 | 	  inside your box.  If you have an Apple machine, say N here; if you | 
 | 396 | 	  have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If | 
 | 397 | 	  you have an embedded board, consult your board documentation. | 
 | 398 |  | 
| Christoph Lameter | 5ac6da6 | 2007-02-10 01:43:14 -0800 | [diff] [blame] | 399 | config ZONE_DMA | 
 | 400 | 	bool | 
 | 401 | 	default y | 
 | 402 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 403 | config GENERIC_ISA_DMA | 
 | 404 | 	bool | 
 | 405 | 	depends on PPC64 || POWER4 || 6xx && !CPM2 | 
 | 406 | 	default y | 
 | 407 |  | 
| Paul Mackerras | 25635c7 | 2005-10-26 16:36:55 +1000 | [diff] [blame] | 408 | config PPC_INDIRECT_PCI | 
 | 409 | 	bool | 
 | 410 | 	depends on PCI | 
| Becky Bruce | 63dafe5 | 2006-01-14 16:57:39 -0600 | [diff] [blame] | 411 | 	default y if 40x || 44x | 
| Paul Mackerras | 25635c7 | 2005-10-26 16:36:55 +1000 | [diff] [blame] | 412 | 	default n | 
 | 413 |  | 
| Kumar Gala | 4a89f7f | 2007-04-12 15:41:26 -0500 | [diff] [blame] | 414 | config PPC_INDIRECT_PCI_BE | 
 | 415 | 	bool | 
 | 416 | 	depends PPC_INDIRECT_PCI | 
 | 417 | 	default n | 
 | 418 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 419 | config EISA | 
 | 420 | 	bool | 
 | 421 |  | 
 | 422 | config SBUS | 
 | 423 | 	bool | 
 | 424 |  | 
| Kumar Gala | 08264cb | 2006-01-10 21:43:56 -0600 | [diff] [blame] | 425 | config FSL_SOC | 
 | 426 | 	bool | 
 | 427 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 428 | # Yes MCA RS/6000s exist but Linux-PPC does not currently support any | 
 | 429 | config MCA | 
 | 430 | 	bool | 
 | 431 |  | 
 | 432 | config PCI | 
| Jon Loeliger | 5315862 | 2006-08-09 10:37:28 -0500 | [diff] [blame] | 433 | 	bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \ | 
| Stephen Rothwell | bed5927 | 2007-03-04 17:04:44 +1100 | [diff] [blame] | 434 | 		|| PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \ | 
| Arnd Bergmann | d3c7ffa | 2007-06-18 01:06:58 +0200 | [diff] [blame] | 435 | 		|| PPC_PS3 | 
| David Gibson | f21f49e | 2007-06-13 14:52:54 +1000 | [diff] [blame] | 436 | 	default y if !40x && !CPM2 && !8xx && !PPC_83xx \ | 
| Jon Loeliger | 5315862 | 2006-08-09 10:37:28 -0500 | [diff] [blame] | 437 | 		&& !PPC_85xx && !PPC_86xx | 
| David Gibson | f21f49e | 2007-06-13 14:52:54 +1000 | [diff] [blame] | 438 | 	default PCI_PERMEDIA if !4xx && !CPM2 && !8xx | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 439 | 	default PCI_QSPAN if !4xx && !CPM2 && 8xx | 
| Michael Ellerman | df87ef5 | 2007-05-08 12:58:34 +1000 | [diff] [blame] | 440 | 	select ARCH_SUPPORTS_MSI | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 441 | 	help | 
 | 442 | 	  Find out whether your system includes a PCI bus. PCI is the name of | 
 | 443 | 	  a bus system, i.e. the way the CPU talks to the other stuff inside | 
 | 444 | 	  your box.  If you say Y here, the kernel will include drivers and | 
 | 445 | 	  infrastructure code to support PCI bus devices. | 
 | 446 |  | 
 | 447 | config PCI_DOMAINS | 
| Matthew Wilcox | 36e2359 | 2007-07-10 10:54:40 -0600 | [diff] [blame] | 448 | 	def_bool PCI | 
 | 449 |  | 
 | 450 | config PCI_SYSCALL | 
 | 451 | 	def_bool PCI | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 452 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 453 | config PCI_QSPAN | 
 | 454 | 	bool "QSpan PCI" | 
 | 455 | 	depends on !4xx && !CPM2 && 8xx | 
| Paul Mackerras | f9bd170 | 2005-10-26 16:47:42 +1000 | [diff] [blame] | 456 | 	select PPC_I8259 | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 457 | 	help | 
 | 458 | 	  Say Y here if you have a system based on a Motorola 8xx-series | 
 | 459 | 	  embedded processor with a QSPAN PCI interface, otherwise say N. | 
 | 460 |  | 
 | 461 | config PCI_8260 | 
 | 462 | 	bool | 
 | 463 | 	depends on PCI && 8260 | 
| Paul Mackerras | 25635c7 | 2005-10-26 16:36:55 +1000 | [diff] [blame] | 464 | 	select PPC_INDIRECT_PCI | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 465 | 	default y | 
 | 466 |  | 
 | 467 | config 8260_PCI9 | 
| Andrew Morton | 4a3ecc6 | 2006-06-01 20:36:04 -0700 | [diff] [blame] | 468 | 	bool "Enable workaround for MPC826x erratum PCI 9" | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 469 | 	depends on PCI_8260 && !ADS8272 | 
 | 470 | 	default y | 
 | 471 |  | 
 | 472 | choice | 
| Andrew Morton | 4a3ecc6 | 2006-06-01 20:36:04 -0700 | [diff] [blame] | 473 | 	prompt "IDMA channel for PCI 9 workaround" | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 474 | 	depends on 8260_PCI9 | 
 | 475 |  | 
 | 476 | config 8260_PCI9_IDMA1 | 
 | 477 | 	bool "IDMA1" | 
 | 478 |  | 
 | 479 | config 8260_PCI9_IDMA2 | 
 | 480 | 	bool "IDMA2" | 
 | 481 |  | 
 | 482 | config 8260_PCI9_IDMA3 | 
 | 483 | 	bool "IDMA3" | 
 | 484 |  | 
 | 485 | config 8260_PCI9_IDMA4 | 
 | 486 | 	bool "IDMA4" | 
 | 487 |  | 
 | 488 | endchoice | 
 | 489 |  | 
| Jake Moilanen | bb53bb3 | 2006-06-07 16:05:46 -0500 | [diff] [blame] | 490 | source "drivers/pci/pcie/Kconfig" | 
 | 491 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 492 | source "drivers/pci/Kconfig" | 
 | 493 |  | 
 | 494 | source "drivers/pcmcia/Kconfig" | 
 | 495 |  | 
 | 496 | source "drivers/pci/hotplug/Kconfig" | 
 | 497 |  | 
 | 498 | endmenu | 
 | 499 |  | 
 | 500 | menu "Advanced setup" | 
 | 501 | 	depends on PPC32 | 
 | 502 |  | 
 | 503 | config ADVANCED_OPTIONS | 
 | 504 | 	bool "Prompt for advanced kernel configuration options" | 
 | 505 | 	help | 
 | 506 | 	  This option will enable prompting for a variety of advanced kernel | 
 | 507 | 	  configuration options.  These options can cause the kernel to not | 
 | 508 | 	  work if they are set incorrectly, but can be used to optimize certain | 
 | 509 | 	  aspects of kernel memory management. | 
 | 510 |  | 
 | 511 | 	  Unless you know what you are doing, say N here. | 
 | 512 |  | 
 | 513 | comment "Default settings for advanced configuration options are used" | 
 | 514 | 	depends on !ADVANCED_OPTIONS | 
 | 515 |  | 
 | 516 | config HIGHMEM_START_BOOL | 
 | 517 | 	bool "Set high memory pool address" | 
 | 518 | 	depends on ADVANCED_OPTIONS && HIGHMEM | 
 | 519 | 	help | 
 | 520 | 	  This option allows you to set the base address of the kernel virtual | 
 | 521 | 	  area used to map high memory pages.  This can be useful in | 
 | 522 | 	  optimizing the layout of kernel virtual memory. | 
 | 523 |  | 
 | 524 | 	  Say N here unless you know what you are doing. | 
 | 525 |  | 
 | 526 | config HIGHMEM_START | 
 | 527 | 	hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL | 
 | 528 | 	default "0xfe000000" | 
 | 529 |  | 
 | 530 | config LOWMEM_SIZE_BOOL | 
 | 531 | 	bool "Set maximum low memory" | 
 | 532 | 	depends on ADVANCED_OPTIONS | 
 | 533 | 	help | 
 | 534 | 	  This option allows you to set the maximum amount of memory which | 
 | 535 | 	  will be used as "low memory", that is, memory which the kernel can | 
 | 536 | 	  access directly, without having to set up a kernel virtual mapping. | 
 | 537 | 	  This can be useful in optimizing the layout of kernel virtual | 
 | 538 | 	  memory. | 
 | 539 |  | 
 | 540 | 	  Say N here unless you know what you are doing. | 
 | 541 |  | 
 | 542 | config LOWMEM_SIZE | 
 | 543 | 	hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL | 
 | 544 | 	default "0x30000000" | 
 | 545 |  | 
 | 546 | config KERNEL_START_BOOL | 
 | 547 | 	bool "Set custom kernel base address" | 
 | 548 | 	depends on ADVANCED_OPTIONS | 
 | 549 | 	help | 
 | 550 | 	  This option allows you to set the kernel virtual address at which | 
 | 551 | 	  the kernel will map low memory (the kernel image will be linked at | 
 | 552 | 	  this address).  This can be useful in optimizing the virtual memory | 
 | 553 | 	  layout of the system. | 
 | 554 |  | 
 | 555 | 	  Say N here unless you know what you are doing. | 
 | 556 |  | 
 | 557 | config KERNEL_START | 
 | 558 | 	hex "Virtual address of kernel base" if KERNEL_START_BOOL | 
 | 559 | 	default "0xc0000000" | 
 | 560 |  | 
 | 561 | config TASK_SIZE_BOOL | 
 | 562 | 	bool "Set custom user task size" | 
 | 563 | 	depends on ADVANCED_OPTIONS | 
 | 564 | 	help | 
 | 565 | 	  This option allows you to set the amount of virtual address space | 
 | 566 | 	  allocated to user tasks.  This can be useful in optimizing the | 
 | 567 | 	  virtual memory layout of the system. | 
 | 568 |  | 
 | 569 | 	  Say N here unless you know what you are doing. | 
 | 570 |  | 
 | 571 | config TASK_SIZE | 
 | 572 | 	hex "Size of user task space" if TASK_SIZE_BOOL | 
 | 573 | 	default "0x80000000" | 
 | 574 |  | 
 | 575 | config CONSISTENT_START_BOOL | 
 | 576 | 	bool "Set custom consistent memory pool address" | 
 | 577 | 	depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | 
 | 578 | 	help | 
 | 579 | 	  This option allows you to set the base virtual address | 
| Matt LaPlante | 4b3f686 | 2006-10-03 22:21:02 +0200 | [diff] [blame] | 580 | 	  of the consistent memory pool.  This pool of virtual | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 581 | 	  memory is used to make consistent memory allocations. | 
 | 582 |  | 
 | 583 | config CONSISTENT_START | 
 | 584 | 	hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL | 
 | 585 | 	default "0xff100000" if NOT_COHERENT_CACHE | 
 | 586 |  | 
 | 587 | config CONSISTENT_SIZE_BOOL | 
 | 588 | 	bool "Set custom consistent memory pool size" | 
 | 589 | 	depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | 
 | 590 | 	help | 
| Matt LaPlante | 4b3f686 | 2006-10-03 22:21:02 +0200 | [diff] [blame] | 591 | 	  This option allows you to set the size of the | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 592 | 	  consistent memory pool.  This pool of virtual memory | 
 | 593 | 	  is used to make consistent memory allocations. | 
 | 594 |  | 
 | 595 | config CONSISTENT_SIZE | 
 | 596 | 	hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL | 
 | 597 | 	default "0x00200000" if NOT_COHERENT_CACHE | 
 | 598 |  | 
 | 599 | config BOOT_LOAD_BOOL | 
 | 600 | 	bool "Set the boot link/load address" | 
 | 601 | 	depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM | 
 | 602 | 	help | 
 | 603 | 	  This option allows you to set the initial load address of the zImage | 
 | 604 | 	  or zImage.initrd file.  This can be useful if you are on a board | 
 | 605 | 	  which has a small amount of memory. | 
 | 606 |  | 
 | 607 | 	  Say N here unless you know what you are doing. | 
 | 608 |  | 
 | 609 | config BOOT_LOAD | 
 | 610 | 	hex "Link/load address for booting" if BOOT_LOAD_BOOL | 
 | 611 | 	default "0x00400000" if 40x || 8xx || 8260 | 
 | 612 | 	default "0x01000000" if 44x | 
 | 613 | 	default "0x00800000" | 
 | 614 |  | 
 | 615 | config PIN_TLB | 
 | 616 | 	bool "Pinned Kernel TLBs (860 ONLY)" | 
 | 617 | 	depends on ADVANCED_OPTIONS && 8xx | 
 | 618 | endmenu | 
 | 619 |  | 
| Stephen Rothwell | cabb558 | 2005-09-30 16:16:52 +1000 | [diff] [blame] | 620 | if PPC64 | 
 | 621 | config KERNEL_START | 
 | 622 | 	hex | 
| Stephen Rothwell | eeb2d21 | 2005-09-30 17:24:15 +1000 | [diff] [blame] | 623 | 	default "0xc000000000000000" | 
| Stephen Rothwell | cabb558 | 2005-09-30 16:16:52 +1000 | [diff] [blame] | 624 | endif | 
 | 625 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 626 | source "net/Kconfig" | 
 | 627 |  | 
 | 628 | source "drivers/Kconfig" | 
 | 629 |  | 
 | 630 | source "fs/Kconfig" | 
 | 631 |  | 
 | 632 | # XXX source "arch/ppc/8xx_io/Kconfig" | 
 | 633 |  | 
 | 634 | # XXX source "arch/ppc/8260_io/Kconfig" | 
 | 635 |  | 
| Li Yang | 9865853 | 2006-10-03 23:10:46 -0500 | [diff] [blame] | 636 | source "arch/powerpc/sysdev/qe_lib/Kconfig" | 
 | 637 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 638 | source "lib/Kconfig" | 
 | 639 |  | 
| Prasanna S Panchamukhi | cd6b076 | 2005-11-07 00:59:14 -0800 | [diff] [blame] | 640 | menu "Instrumentation Support" | 
| Kumar Gala | 9875026 | 2007-04-12 18:01:34 -0500 | [diff] [blame] | 641 | 	depends on EXPERIMENTAL | 
| Prasanna S Panchamukhi | cd6b076 | 2005-11-07 00:59:14 -0800 | [diff] [blame] | 642 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 643 | source "arch/powerpc/oprofile/Kconfig" | 
 | 644 |  | 
| Prasanna S Panchamukhi | cd6b076 | 2005-11-07 00:59:14 -0800 | [diff] [blame] | 645 | config KPROBES | 
| Ananth N Mavinakayanahalli | 87a7def | 2007-07-17 04:03:54 -0700 | [diff] [blame] | 646 | 	bool "Kprobes" | 
 | 647 | 	depends on !BOOKE && !4xx && KALLSYMS && MODULES | 
| Prasanna S Panchamukhi | cd6b076 | 2005-11-07 00:59:14 -0800 | [diff] [blame] | 648 | 	help | 
 | 649 | 	  Kprobes allows you to trap at almost any kernel address and | 
 | 650 | 	  execute a callback function.  register_kprobe() establishes | 
 | 651 | 	  a probepoint and specifies the callback.  Kprobes is useful | 
 | 652 | 	  for kernel debugging, non-intrusive instrumentation and testing. | 
 | 653 | 	  If in doubt, say "N". | 
 | 654 | endmenu | 
 | 655 |  | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 656 | source "arch/powerpc/Kconfig.debug" | 
 | 657 |  | 
 | 658 | source "security/Kconfig" | 
 | 659 |  | 
 | 660 | config KEYS_COMPAT | 
 | 661 | 	bool | 
 | 662 | 	depends on COMPAT && KEYS | 
 | 663 | 	default y | 
 | 664 |  | 
 | 665 | source "crypto/Kconfig" |