]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/tile/Kconfig
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus
[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
120mainmenu "Linux/TILE Kernel Configuration"
121
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.
125config TILEGX
126 depends on EXPERIMENTAL
127 bool "Building with TILE-Gx (64-bit) compiler and toolchain"
128
129config 64BIT
130 depends on TILEGX
131 def_bool y
132
133config ARCH_DEFCONFIG
134 string
135 default "arch/tile/configs/tile_defconfig" if !TILEGX
136 default "arch/tile/configs/tilegx_defconfig" if TILEGX
137
138source "init/Kconfig"
139
140menu "Tilera-specific configuration"
141
142config NR_CPUS
143 int "Maximum number of tiles (2-255)"
144 range 2 255
145 depends on SMP
146 default "64"
147 ---help---
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.
151
152source "kernel/time/Kconfig"
153
154source "kernel/Kconfig.hz"
155
156config KEXEC
157 bool "kexec system call"
158 ---help---
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.
163
164 The name comes from the similarity to the exec system call.
165
166config COMPAT
167 bool "Support 32-bit TILE-Gx binaries in addition to 64-bit"
168 depends on TILEGX
169 select COMPAT_BINFMT_ELF
170 default y
171 ---help---
172 If enabled, the kernel will support running TILE-Gx binaries
173 that were built with the -m32 option.
174
175config SYSVIPC_COMPAT
176 def_bool y
177 depends on COMPAT && SYSVIPC
178
179# We do not currently support disabling HIGHMEM on tile64 and tilepro.
180config HIGHMEM
181 bool # "Support for more than 512 MB of RAM"
182 default !TILEGX
183 ---help---
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".
190
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.
195
196 If unsure, say "true".
197
198# We do not currently support disabling NUMA.
199config NUMA
200 bool # "NUMA Memory Allocation and Scheduler Support"
201 depends on SMP && DISCONTIGMEM
202 default y
203 ---help---
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.
208
209config NODES_SHIFT
210 int "Log base 2 of the max number of memory controllers"
211 default 2
212 depends on NEED_MULTIPLE_NODES
213 ---help---
214 By default, 2, i.e. 2^2 == 4 DDR2 controllers.
215 In a system with more controllers, this value should be raised.
216
217# Need 16MB areas to enable hugetlb
218# See build-time check in arch/tile/mm/init.c.
219config FORCE_MAX_ZONEORDER
220 int
221 default 9
222
223choice
224 depends on !TILEGX
225 prompt "Memory split" if EMBEDDED
226 default VMSPLIT_3G
227 ---help---
228 Select the desired split between kernel and user memory.
229
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
238 kernel modules.
239
240 If you are not absolutely sure what you are doing, leave this
241 option alone!
242
5592840b 243 config VMSPLIT_3_75G
867e359b 244 bool "3.75G/0.25G user/kernel split (no kernel networking)"
5592840b 245 config VMSPLIT_3_5G
867e359b
CM
246 bool "3.5G/0.5G user/kernel split"
247 config VMSPLIT_3G
248 bool "3G/1G user/kernel split"
249 config VMSPLIT_3G_OPT
250 bool "3G/1G user/kernel split (for full 1G low memory)"
251 config VMSPLIT_2G
252 bool "2G/2G user/kernel split"
253 config VMSPLIT_1G
254 bool "1G/3G user/kernel split"
255endchoice
256
257config PAGE_OFFSET
258 hex
5592840b
CM
259 default 0xF0000000 if VMSPLIT_3_75G
260 default 0xE0000000 if VMSPLIT_3_5G
867e359b
CM
261 default 0xB0000000 if VMSPLIT_3G_OPT
262 default 0x80000000 if VMSPLIT_2G
263 default 0x40000000 if VMSPLIT_1G
264 default 0xC0000000
265
266source "mm/Kconfig"
267
268config CMDLINE_BOOL
269 bool "Built-in kernel command line"
270 default n
271 ---help---
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.)
277
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.
281
282 Systems with fully functional boot loaders (e.g. mboot, or
283 if booting over PCI) should leave this option set to 'N'.
284
285config CMDLINE
286 string "Built-in kernel command string"
287 depends on CMDLINE_BOOL
288 default ""
289 ---help---
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.
294
295 However, you can use the CONFIG_CMDLINE_OVERRIDE option to
296 change this behavior.
297
298 In most cases, the command line (whether built-in or provided
299 by the boot loader) should specify the device for the root
300 file system.
301
302config CMDLINE_OVERRIDE
303 bool "Built-in command line overrides boot loader arguments"
304 default n
305 depends on CMDLINE_BOOL
306 ---help---
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.
309
310 This is used to work around broken boot loaders. This should
311 be set to 'N' under normal conditions.
312
313config VMALLOC_RESERVE
314 hex
315 default 0x1000000
316
9f9c0382
CM
317config HARDWALL
318 bool "Hardwall support to allow access to user dynamic network"
319 default y
320
a78c942d
CM
321config KERNEL_PL
322 int "Processor protection level for kernel"
323 range 1 2
324 default "1"
325 ---help---
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.
329
867e359b
CM
330endmenu # Tilera-specific configuration
331
332menu "Bus options"
333
334config NO_IOMEM
335 def_bool !PCI
336
337config NO_IOPORT
338 def_bool !PCI
339
340source "drivers/pci/Kconfig"
341
342source "drivers/pci/hotplug/Kconfig"
343
344endmenu
345
346menu "Executable file formats"
347
348# only elf supported
349config KCORE_ELF
350 def_bool y
351 depends on PROC_FS
352
353source "fs/Kconfig.binfmt"
354
355endmenu
356
357source "net/Kconfig"
358
359source "drivers/Kconfig"
360
361source "fs/Kconfig"
362
363source "arch/tile/Kconfig.debug"
364
365source "security/Kconfig"
366
367source "crypto/Kconfig"
368
369source "lib/Kconfig"
a78c942d
CM
370
371source "arch/tile/kvm/Kconfig"