at v3.0-rc3 379 lines 10 kB view raw
1# For a description of the syntax of this configuration file, 2# see Documentation/kbuild/kconfig-language.txt. 3 4config TILE 5 def_bool y 6 select HAVE_KVM if !TILEGX 7 select GENERIC_FIND_FIRST_BIT 8 select USE_GENERIC_SMP_HELPERS 9 select CC_OPTIMIZE_FOR_SIZE 10 select HAVE_GENERIC_HARDIRQS 11 select GENERIC_IRQ_PROBE 12 select GENERIC_PENDING_IRQ if SMP 13 select GENERIC_IRQ_SHOW 14 select SYS_HYPERVISOR 15 16# FIXME: investigate whether we need/want these options. 17# select HAVE_IOREMAP_PROT 18# select HAVE_OPTPROBES 19# select HAVE_REGS_AND_STACK_ACCESS_API 20# select HAVE_HW_BREAKPOINT 21# select PERF_EVENTS 22# select HAVE_USER_RETURN_NOTIFIER 23# config NO_BOOTMEM 24# config ARCH_SUPPORTS_DEBUG_PAGEALLOC 25# config HUGETLB_PAGE_SIZE_VARIABLE 26 27config MMU 28 def_bool y 29 30config GENERIC_CSUM 31 def_bool y 32 33config SEMAPHORE_SLEEPERS 34 def_bool y 35 36config HAVE_ARCH_ALLOC_REMAP 37 def_bool y 38 39config HAVE_SETUP_PER_CPU_AREA 40 def_bool y 41 42config NEED_PER_CPU_PAGE_FIRST_CHUNK 43 def_bool y 44 45config SYS_SUPPORTS_HUGETLBFS 46 def_bool y 47 48config GENERIC_TIME 49 def_bool y 50 51config GENERIC_CLOCKEVENTS 52 def_bool y 53 54# FIXME: tilegx can implement a more efficient rwsem. 55config RWSEM_GENERIC_SPINLOCK 56 def_bool y 57 58# We have a very flat architecture from a migration point of view, 59# so save boot time by presetting this (particularly useful on tile-sim). 60config DEFAULT_MIGRATION_COST 61 int 62 default "10000000" 63 64# We only support gcc 4.4 and above, so this should work. 65config ARCH_SUPPORTS_OPTIMIZED_INLINING 66 def_bool y 67 68config ARCH_PHYS_ADDR_T_64BIT 69 def_bool y 70 71config ARCH_DMA_ADDR_T_64BIT 72 def_bool y 73 74config LOCKDEP_SUPPORT 75 def_bool y 76 77config STACKTRACE_SUPPORT 78 def_bool y 79 select STACKTRACE 80 81# We use discontigmem for now; at some point we may want to switch 82# to sparsemem (Tilera bug 7996). 83config ARCH_DISCONTIGMEM_ENABLE 84 def_bool y 85 86config ARCH_DISCONTIGMEM_DEFAULT 87 def_bool y 88 89config TRACE_IRQFLAGS_SUPPORT 90 def_bool y 91 92config STRICT_DEVMEM 93 def_bool y 94 95# SMP is required for Tilera Linux. 96config SMP 97 def_bool y 98 99# Allow checking for compile-time determined overflow errors in 100# copy_from_user(). There are still unprovable places in the 101# generic code as of 2.6.34, so this option is not really compatible 102# with -Werror, which is more useful in general. 103config DEBUG_COPY_FROM_USER 104 def_bool n 105 106config HVC_TILE 107 select HVC_DRIVER 108 def_bool y 109 110# Please note: TILE-Gx support is not yet finalized; this is 111# the preliminary support. TILE-Gx drivers are only provided 112# with the alpha or beta test versions for Tilera customers. 113config TILEGX 114 depends on EXPERIMENTAL 115 bool "Building with TILE-Gx (64-bit) compiler and toolchain" 116 117config 64BIT 118 depends on TILEGX 119 def_bool y 120 121config ARCH_DEFCONFIG 122 string 123 default "arch/tile/configs/tile_defconfig" if !TILEGX 124 default "arch/tile/configs/tilegx_defconfig" if TILEGX 125 126source "init/Kconfig" 127 128menu "Tilera-specific configuration" 129 130config NR_CPUS 131 int "Maximum number of tiles (2-255)" 132 range 2 255 133 depends on SMP 134 default "64" 135 ---help--- 136 Building with 64 is the recommended value, but a slightly 137 smaller kernel memory footprint results from using a smaller 138 value on chips with fewer tiles. 139 140source "kernel/time/Kconfig" 141 142source "kernel/Kconfig.hz" 143 144config KEXEC 145 bool "kexec system call" 146 ---help--- 147 kexec is a system call that implements the ability to shutdown your 148 current kernel, and to start another kernel. It is like a reboot 149 but it is independent of the system firmware. It is used 150 to implement the "mboot" Tilera booter. 151 152 The name comes from the similarity to the exec system call. 153 154config COMPAT 155 bool "Support 32-bit TILE-Gx binaries in addition to 64-bit" 156 depends on TILEGX 157 select COMPAT_BINFMT_ELF 158 default y 159 ---help--- 160 If enabled, the kernel will support running TILE-Gx binaries 161 that were built with the -m32 option. 162 163config SYSVIPC_COMPAT 164 def_bool y 165 depends on COMPAT && SYSVIPC 166 167# We do not currently support disabling HIGHMEM on tile64 and tilepro. 168config HIGHMEM 169 bool # "Support for more than 512 MB of RAM" 170 default !TILEGX 171 ---help--- 172 Linux can use the full amount of RAM in the system by 173 default. However, the address space of TILE processors is 174 only 4 Gigabytes large. That means that, if you have a large 175 amount of physical memory, not all of it can be "permanently 176 mapped" by the kernel. The physical memory that's not 177 permanently mapped is called "high memory". 178 179 If you are compiling a kernel which will never run on a 180 machine with more than 512 MB total physical RAM, answer 181 "false" here. This will result in the kernel mapping all of 182 physical memory into the top 1 GB of virtual memory space. 183 184 If unsure, say "true". 185 186# We do not currently support disabling NUMA. 187config NUMA 188 bool # "NUMA Memory Allocation and Scheduler Support" 189 depends on SMP && DISCONTIGMEM 190 default y 191 ---help--- 192 NUMA memory allocation is required for TILE processors 193 unless booting with memory striping enabled in the 194 hypervisor, or with only a single memory controller. 195 It is recommended that this option always be enabled. 196 197config NODES_SHIFT 198 int "Log base 2 of the max number of memory controllers" 199 default 2 200 depends on NEED_MULTIPLE_NODES 201 ---help--- 202 By default, 2, i.e. 2^2 == 4 DDR2 controllers. 203 In a system with more controllers, this value should be raised. 204 205choice 206 depends on !TILEGX 207 prompt "Memory split" if EXPERT 208 default VMSPLIT_3G 209 ---help--- 210 Select the desired split between kernel and user memory. 211 212 If the address range available to the kernel is less than the 213 physical memory installed, the remaining memory will be available 214 as "high memory". Accessing high memory is a little more costly 215 than low memory, as it needs to be mapped into the kernel first. 216 Note that increasing the kernel address space limits the range 217 available to user programs, making the address space there 218 tighter. Selecting anything other than the default 3G/1G split 219 will also likely make your kernel incompatible with binary-only 220 kernel modules. 221 222 If you are not absolutely sure what you are doing, leave this 223 option alone! 224 225 config VMSPLIT_3_75G 226 bool "3.75G/0.25G user/kernel split (no kernel networking)" 227 config VMSPLIT_3_5G 228 bool "3.5G/0.5G user/kernel split" 229 config VMSPLIT_3G 230 bool "3G/1G user/kernel split" 231 config VMSPLIT_2_75G 232 bool "2.75G/1.25G user/kernel split (for full 1G low memory)" 233 config VMSPLIT_2_5G 234 bool "2.5G/1.5G user/kernel split" 235 config VMSPLIT_2_25G 236 bool "2.25G/1.75G user/kernel split" 237 config VMSPLIT_2G 238 bool "2G/2G user/kernel split" 239 config VMSPLIT_1G 240 bool "1G/3G user/kernel split" 241endchoice 242 243config PAGE_OFFSET 244 hex 245 default 0xF0000000 if VMSPLIT_3_75G 246 default 0xE0000000 if VMSPLIT_3_5G 247 default 0xB0000000 if VMSPLIT_2_75G 248 default 0xA0000000 if VMSPLIT_2_5G 249 default 0x90000000 if VMSPLIT_2_25G 250 default 0x80000000 if VMSPLIT_2G 251 default 0x40000000 if VMSPLIT_1G 252 default 0xC0000000 253 254source "mm/Kconfig" 255 256config CMDLINE_BOOL 257 bool "Built-in kernel command line" 258 default n 259 ---help--- 260 Allow for specifying boot arguments to the kernel at 261 build time. On some systems (e.g. embedded ones), it is 262 necessary or convenient to provide some or all of the 263 kernel boot arguments with the kernel itself (that is, 264 to not rely on the boot loader to provide them.) 265 266 To compile command line arguments into the kernel, 267 set this option to 'Y', then fill in the 268 the boot arguments in CONFIG_CMDLINE. 269 270 Systems with fully functional boot loaders (e.g. mboot, or 271 if booting over PCI) should leave this option set to 'N'. 272 273config CMDLINE 274 string "Built-in kernel command string" 275 depends on CMDLINE_BOOL 276 default "" 277 ---help--- 278 Enter arguments here that should be compiled into the kernel 279 image and used at boot time. If the boot loader provides a 280 command line at boot time, it is appended to this string to 281 form the full kernel command line, when the system boots. 282 283 However, you can use the CONFIG_CMDLINE_OVERRIDE option to 284 change this behavior. 285 286 In most cases, the command line (whether built-in or provided 287 by the boot loader) should specify the device for the root 288 file system. 289 290config CMDLINE_OVERRIDE 291 bool "Built-in command line overrides boot loader arguments" 292 default n 293 depends on CMDLINE_BOOL 294 ---help--- 295 Set this option to 'Y' to have the kernel ignore the boot loader 296 command line, and use ONLY the built-in command line. 297 298 This is used to work around broken boot loaders. This should 299 be set to 'N' under normal conditions. 300 301config VMALLOC_RESERVE 302 hex 303 default 0x1000000 304 305config HARDWALL 306 bool "Hardwall support to allow access to user dynamic network" 307 default y 308 309config KERNEL_PL 310 int "Processor protection level for kernel" 311 range 1 2 312 default "1" 313 ---help--- 314 This setting determines the processor protection level the 315 kernel will be built to run at. Generally you should use 316 the default value here. 317 318endmenu # Tilera-specific configuration 319 320menu "Bus options" 321 322config PCI 323 bool "PCI support" 324 default y 325 select PCI_DOMAINS 326 ---help--- 327 Enable PCI root complex support, so PCIe endpoint devices can 328 be attached to the Tile chip. Many, but not all, PCI devices 329 are supported under Tilera's root complex driver. 330 331config PCI_DOMAINS 332 bool 333 334config NO_IOMEM 335 def_bool !PCI 336 337config NO_IOPORT 338 def_bool !PCI 339 340source "drivers/pci/Kconfig" 341 342config HOTPLUG 343 bool "Support for hot-pluggable devices" 344 ---help--- 345 Say Y here if you want to plug devices into your computer while 346 the system is running, and be able to use them quickly. In many 347 cases, the devices can likewise be unplugged at any time too. 348 One well-known example of this is USB. 349 350source "drivers/pci/hotplug/Kconfig" 351 352endmenu 353 354menu "Executable file formats" 355 356# only elf supported 357config KCORE_ELF 358 def_bool y 359 depends on PROC_FS 360 361source "fs/Kconfig.binfmt" 362 363endmenu 364 365source "net/Kconfig" 366 367source "drivers/Kconfig" 368 369source "fs/Kconfig" 370 371source "arch/tile/Kconfig.debug" 372 373source "security/Kconfig" 374 375source "crypto/Kconfig" 376 377source "lib/Kconfig" 378 379source "arch/tile/kvm/Kconfig"