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

Configure Feed

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

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