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