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