]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/tile/Kconfig
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[net-next-2.6.git] / arch / tile / Kconfig
CommitLineData
867e359b
CM
1# 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
d31eb519
FT
61config ARCH_DMA_ADDR_T_64BIT
62 def_bool y
63
867e359b
CM
64config 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
a78c942d 102 select HAVE_KVM if !TILEGX
867e359b
CM
103 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
867e359b
CM
120# 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
5592840b 241 config VMSPLIT_3_75G
867e359b 242 bool "3.75G/0.25G user/kernel split (no kernel networking)"
5592840b 243 config VMSPLIT_3_5G
867e359b
CM
244 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
5592840b
CM
257 default 0xF0000000 if VMSPLIT_3_75G
258 default 0xE0000000 if VMSPLIT_3_5G
867e359b
CM
259 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
9f9c0382
CM
315config HARDWALL
316 bool "Hardwall support to allow access to user dynamic network"
317 default y
318
a78c942d
CM
319config 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
867e359b
CM
328endmenu # Tilera-specific configuration
329
330menu "Bus options"
331
332config NO_IOMEM
333 def_bool !PCI
334
335config NO_IOPORT
336 def_bool !PCI
337
338source "drivers/pci/Kconfig"
339
340source "drivers/pci/hotplug/Kconfig"
341
342endmenu
343
344menu "Executable file formats"
345
346# only elf supported
347config KCORE_ELF
348 def_bool y
349 depends on PROC_FS
350
351source "fs/Kconfig.binfmt"
352
353endmenu
354
355source "net/Kconfig"
356
357source "drivers/Kconfig"
358
359source "fs/Kconfig"
360
361source "arch/tile/Kconfig.debug"
362
363source "security/Kconfig"
364
365source "crypto/Kconfig"
366
367source "lib/Kconfig"
a78c942d
CM
368
369source "arch/tile/kvm/Kconfig"