1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/config-language.txt.
10 config GENERIC_HARDIRQS
13 config GENERIC_HARDIRQS_NO__DO_IRQ
16 config GENERIC_IRQ_PROBE
19 config GENERIC_PENDING_IRQ
21 depends on GENERIC_HARDIRQS && SMP
23 config SEMAPHORE_SLEEPERS
26 config HAVE_ARCH_ALLOC_REMAP
29 config HAVE_SETUP_PER_CPU_AREA
32 config NEED_PER_CPU_PAGE_FIRST_CHUNK
35 config SYS_SUPPORTS_HUGETLBFS
41 config GENERIC_CLOCKEVENTS
44 # FIXME: tilegx can implement a more efficent rwsem.
45 config RWSEM_GENERIC_SPINLOCK
48 # We have a very flat architecture from a migration point of view,
49 # so save boot time by presetting this (particularly useful on tile-sim).
50 config DEFAULT_MIGRATION_COST
54 # We only support gcc 4.4 and above, so this should work.
55 config ARCH_SUPPORTS_OPTIMIZED_INLINING
58 config ARCH_PHYS_ADDR_T_64BIT
61 config ARCH_DMA_ADDR_T_64BIT
64 config LOCKDEP_SUPPORT
67 config STACKTRACE_SUPPORT
71 # We use discontigmem for now; at some point we may want to switch
72 # to sparsemem (Tilera bug 7996).
73 config ARCH_DISCONTIGMEM_ENABLE
76 config ARCH_DISCONTIGMEM_DEFAULT
79 config TRACE_IRQFLAGS_SUPPORT
85 # SMP is required for Tilera Linux.
89 # Allow checking for compile-time determined overflow errors in
90 # copy_from_user(). There are still unprovable places in the
91 # generic code as of 2.6.34, so this option is not really compatible
92 # with -Werror, which is more useful in general.
93 config DEBUG_COPY_FROM_USER
102 select HAVE_KVM if !TILEGX
103 select GENERIC_FIND_FIRST_BIT
104 select GENERIC_FIND_NEXT_BIT
105 select USE_GENERIC_SMP_HELPERS
106 select CC_OPTIMIZE_FOR_SIZE
108 # FIXME: investigate whether we need/want these options.
109 # select HAVE_IOREMAP_PROT
110 # select HAVE_OPTPROBES
111 # select HAVE_REGS_AND_STACK_ACCESS_API
112 # select HAVE_HW_BREAKPOINT
114 # select HAVE_USER_RETURN_NOTIFIER
116 # config ARCH_SUPPORTS_DEBUG_PAGEALLOC
117 # config HUGETLB_PAGE_SIZE_VARIABLE
120 mainmenu "Linux/TILE Kernel Configuration"
122 # Please note: TILE-Gx support is not yet finalized; this is
123 # the preliminary support. TILE-Gx drivers are only provided
124 # with the alpha or beta test versions for Tilera customers.
126 depends on EXPERIMENTAL
127 bool "Building with TILE-Gx (64-bit) compiler and toolchain"
133 config ARCH_DEFCONFIG
135 default "arch/tile/configs/tile_defconfig" if !TILEGX
136 default "arch/tile/configs/tilegx_defconfig" if TILEGX
138 source "init/Kconfig"
140 menu "Tilera-specific configuration"
143 int "Maximum number of tiles (2-255)"
148 Building with 64 is the recommended value, but a slightly
149 smaller kernel memory footprint results from using a smaller
150 value on chips with fewer tiles.
152 source "kernel/time/Kconfig"
154 source "kernel/Kconfig.hz"
157 bool "kexec system call"
159 kexec is a system call that implements the ability to shutdown your
160 current kernel, and to start another kernel. It is like a reboot
161 but it is independent of the system firmware. It is used
162 to implement the "mboot" Tilera booter.
164 The name comes from the similarity to the exec system call.
167 bool "Support 32-bit TILE-Gx binaries in addition to 64-bit"
169 select COMPAT_BINFMT_ELF
172 If enabled, the kernel will support running TILE-Gx binaries
173 that were built with the -m32 option.
175 config SYSVIPC_COMPAT
177 depends on COMPAT && SYSVIPC
179 # We do not currently support disabling HIGHMEM on tile64 and tilepro.
181 bool # "Support for more than 512 MB of RAM"
184 Linux can use the full amount of RAM in the system by
185 default. However, the address space of TILE processors is
186 only 4 Gigabytes large. That means that, if you have a large
187 amount of physical memory, not all of it can be "permanently
188 mapped" by the kernel. The physical memory that's not
189 permanently mapped is called "high memory".
191 If you are compiling a kernel which will never run on a
192 machine with more than 512 MB total physical RAM, answer
193 "false" here. This will result in the kernel mapping all of
194 physical memory into the top 1 GB of virtual memory space.
196 If unsure, say "true".
198 # We do not currently support disabling NUMA.
200 bool # "NUMA Memory Allocation and Scheduler Support"
201 depends on SMP && DISCONTIGMEM
204 NUMA memory allocation is required for TILE processors
205 unless booting with memory striping enabled in the
206 hypervisor, or with only a single memory controller.
207 It is recommended that this option always be enabled.
210 int "Log base 2 of the max number of memory controllers"
212 depends on NEED_MULTIPLE_NODES
214 By default, 2, i.e. 2^2 == 4 DDR2 controllers.
215 In a system with more controllers, this value should be raised.
217 # Need 16MB areas to enable hugetlb
218 # See build-time check in arch/tile/mm/init.c.
219 config FORCE_MAX_ZONEORDER
225 prompt "Memory split" if EMBEDDED
228 Select the desired split between kernel and user memory.
230 If the address range available to the kernel is less than the
231 physical memory installed, the remaining memory will be available
232 as "high memory". Accessing high memory is a little more costly
233 than low memory, as it needs to be mapped into the kernel first.
234 Note that increasing the kernel address space limits the range
235 available to user programs, making the address space there
236 tighter. Selecting anything other than the default 3G/1G split
237 will also likely make your kernel incompatible with binary-only
240 If you are not absolutely sure what you are doing, leave this
244 bool "3.75G/0.25G user/kernel split (no kernel networking)"
246 bool "3.5G/0.5G user/kernel split"
248 bool "3G/1G user/kernel split"
249 config VMSPLIT_3G_OPT
250 bool "3G/1G user/kernel split (for full 1G low memory)"
252 bool "2G/2G user/kernel split"
254 bool "1G/3G user/kernel split"
259 default 0xF0000000 if VMSPLIT_3_75G
260 default 0xE0000000 if VMSPLIT_3_5G
261 default 0xB0000000 if VMSPLIT_3G_OPT
262 default 0x80000000 if VMSPLIT_2G
263 default 0x40000000 if VMSPLIT_1G
269 bool "Built-in kernel command line"
272 Allow for specifying boot arguments to the kernel at
273 build time. On some systems (e.g. embedded ones), it is
274 necessary or convenient to provide some or all of the
275 kernel boot arguments with the kernel itself (that is,
276 to not rely on the boot loader to provide them.)
278 To compile command line arguments into the kernel,
279 set this option to 'Y', then fill in the
280 the boot arguments in CONFIG_CMDLINE.
282 Systems with fully functional boot loaders (e.g. mboot, or
283 if booting over PCI) should leave this option set to 'N'.
286 string "Built-in kernel command string"
287 depends on CMDLINE_BOOL
290 Enter arguments here that should be compiled into the kernel
291 image and used at boot time. If the boot loader provides a
292 command line at boot time, it is appended to this string to
293 form the full kernel command line, when the system boots.
295 However, you can use the CONFIG_CMDLINE_OVERRIDE option to
296 change this behavior.
298 In most cases, the command line (whether built-in or provided
299 by the boot loader) should specify the device for the root
302 config CMDLINE_OVERRIDE
303 bool "Built-in command line overrides boot loader arguments"
305 depends on CMDLINE_BOOL
307 Set this option to 'Y' to have the kernel ignore the boot loader
308 command line, and use ONLY the built-in command line.
310 This is used to work around broken boot loaders. This should
311 be set to 'N' under normal conditions.
313 config VMALLOC_RESERVE
318 bool "Hardwall support to allow access to user dynamic network"
322 int "Processor protection level for kernel"
326 This setting determines the processor protection level the
327 kernel will be built to run at. Generally you should use
328 the default value here.
330 endmenu # Tilera-specific configuration
340 source "drivers/pci/Kconfig"
342 source "drivers/pci/hotplug/Kconfig"
346 menu "Executable file formats"
353 source "fs/Kconfig.binfmt"
359 source "drivers/Kconfig"
363 source "arch/tile/Kconfig.debug"
365 source "security/Kconfig"
367 source "crypto/Kconfig"
371 source "arch/tile/kvm/Kconfig"