Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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