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