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 LOCKDEP_SUPPORT
64 config STACKTRACE_SUPPORT
68 # We use discontigmem for now; at some point we may want to switch
69 # to sparsemem (Tilera bug 7996).
70 config ARCH_DISCONTIGMEM_ENABLE
73 config ARCH_DISCONTIGMEM_DEFAULT
76 config TRACE_IRQFLAGS_SUPPORT
82 # SMP is required for Tilera Linux.
86 # Allow checking for compile-time determined overflow errors in
87 # copy_from_user(). There are still unprovable places in the
88 # generic code as of 2.6.34, so this option is not really compatible
89 # with -Werror, which is more useful in general.
90 config DEBUG_COPY_FROM_USER
99 select GENERIC_FIND_FIRST_BIT
100 select GENERIC_FIND_NEXT_BIT
101 select USE_GENERIC_SMP_HELPERS
102 select CC_OPTIMIZE_FOR_SIZE
104 # FIXME: investigate whether we need/want these options.
105 # select HAVE_IOREMAP_PROT
106 # select HAVE_OPTPROBES
107 # select HAVE_REGS_AND_STACK_ACCESS_API
108 # select HAVE_HW_BREAKPOINT
110 # select HAVE_USER_RETURN_NOTIFIER
112 # config ARCH_SUPPORTS_DEBUG_PAGEALLOC
113 # config HUGETLB_PAGE_SIZE_VARIABLE
116 # Please note: TILE-Gx support is not yet finalized; this is
117 # the preliminary support. TILE-Gx drivers are only provided
118 # with the alpha or beta test versions for Tilera customers.
120 depends on EXPERIMENTAL
121 bool "Building with TILE-Gx (64-bit) compiler and toolchain"
127 config ARCH_DEFCONFIG
129 default "arch/tile/configs/tile_defconfig" if !TILEGX
130 default "arch/tile/configs/tilegx_defconfig" if TILEGX
132 source "init/Kconfig"
134 menu "Tilera-specific configuration"
137 int "Maximum number of tiles (2-255)"
142 Building with 64 is the recommended value, but a slightly
143 smaller kernel memory footprint results from using a smaller
144 value on chips with fewer tiles.
146 source "kernel/time/Kconfig"
148 source "kernel/Kconfig.hz"
151 bool "kexec system call"
153 kexec is a system call that implements the ability to shutdown your
154 current kernel, and to start another kernel. It is like a reboot
155 but it is independent of the system firmware. It is used
156 to implement the "mboot" Tilera booter.
158 The name comes from the similarity to the exec system call.
161 bool "Support 32-bit TILE-Gx binaries in addition to 64-bit"
163 select COMPAT_BINFMT_ELF
166 If enabled, the kernel will support running TILE-Gx binaries
167 that were built with the -m32 option.
169 config SYSVIPC_COMPAT
171 depends on COMPAT && SYSVIPC
173 # We do not currently support disabling HIGHMEM on tile64 and tilepro.
175 bool # "Support for more than 512 MB of RAM"
178 Linux can use the full amount of RAM in the system by
179 default. However, the address space of TILE processors is
180 only 4 Gigabytes large. That means that, if you have a large
181 amount of physical memory, not all of it can be "permanently
182 mapped" by the kernel. The physical memory that's not
183 permanently mapped is called "high memory".
185 If you are compiling a kernel which will never run on a
186 machine with more than 512 MB total physical RAM, answer
187 "false" here. This will result in the kernel mapping all of
188 physical memory into the top 1 GB of virtual memory space.
190 If unsure, say "true".
192 # We do not currently support disabling NUMA.
194 bool # "NUMA Memory Allocation and Scheduler Support"
195 depends on SMP && DISCONTIGMEM
198 NUMA memory allocation is required for TILE processors
199 unless booting with memory striping enabled in the
200 hypervisor, or with only a single memory controller.
201 It is recommended that this option always be enabled.
204 int "Log base 2 of the max number of memory controllers"
206 depends on NEED_MULTIPLE_NODES
208 By default, 2, i.e. 2^2 == 4 DDR2 controllers.
209 In a system with more controllers, this value should be raised.
211 # Need 16MB areas to enable hugetlb
212 # See build-time check in arch/tile/mm/init.c.
213 config FORCE_MAX_ZONEORDER
219 prompt "Memory split" if EMBEDDED
222 Select the desired split between kernel and user memory.
224 If the address range available to the kernel is less than the
225 physical memory installed, the remaining memory will be available
226 as "high memory". Accessing high memory is a little more costly
227 than low memory, as it needs to be mapped into the kernel first.
228 Note that increasing the kernel address space limits the range
229 available to user programs, making the address space there
230 tighter. Selecting anything other than the default 3G/1G split
231 will also likely make your kernel incompatible with binary-only
234 If you are not absolutely sure what you are doing, leave this
238 bool "3.75G/0.25G user/kernel split (no kernel networking)"
240 bool "3.5G/0.5G user/kernel split"
242 bool "3G/1G user/kernel split"
243 config VMSPLIT_3G_OPT
244 bool "3G/1G user/kernel split (for full 1G low memory)"
246 bool "2G/2G user/kernel split"
248 bool "1G/3G user/kernel split"
253 default 0xF0000000 if VMSPLIT_375G
254 default 0xE0000000 if VMSPLIT_35G
255 default 0xB0000000 if VMSPLIT_3G_OPT
256 default 0x80000000 if VMSPLIT_2G
257 default 0x40000000 if VMSPLIT_1G
263 bool "Built-in kernel command line"
266 Allow for specifying boot arguments to the kernel at
267 build time. On some systems (e.g. embedded ones), it is
268 necessary or convenient to provide some or all of the
269 kernel boot arguments with the kernel itself (that is,
270 to not rely on the boot loader to provide them.)
272 To compile command line arguments into the kernel,
273 set this option to 'Y', then fill in the
274 the boot arguments in CONFIG_CMDLINE.
276 Systems with fully functional boot loaders (e.g. mboot, or
277 if booting over PCI) should leave this option set to 'N'.
280 string "Built-in kernel command string"
281 depends on CMDLINE_BOOL
284 Enter arguments here that should be compiled into the kernel
285 image and used at boot time. If the boot loader provides a
286 command line at boot time, it is appended to this string to
287 form the full kernel command line, when the system boots.
289 However, you can use the CONFIG_CMDLINE_OVERRIDE option to
290 change this behavior.
292 In most cases, the command line (whether built-in or provided
293 by the boot loader) should specify the device for the root
296 config CMDLINE_OVERRIDE
297 bool "Built-in command line overrides boot loader arguments"
299 depends on CMDLINE_BOOL
301 Set this option to 'Y' to have the kernel ignore the boot loader
302 command line, and use ONLY the built-in command line.
304 This is used to work around broken boot loaders. This should
305 be set to 'N' under normal conditions.
307 config VMALLOC_RESERVE
312 bool "Hardwall support to allow access to user dynamic network"
315 endmenu # Tilera-specific configuration
325 source "drivers/pci/Kconfig"
327 source "drivers/pci/hotplug/Kconfig"
331 menu "Executable file formats"
338 source "fs/Kconfig.binfmt"
344 source "drivers/Kconfig"
348 source "arch/tile/Kconfig.debug"
350 source "security/Kconfig"
352 source "crypto/Kconfig"