Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6] / arch / sparc64 / Kconfig
1 # sparc64 configuration
2 mainmenu "Linux Kernel Configuration for 64-bit SPARC"
3
4 config SPARC
5         bool
6         default y
7         select HAVE_OPROFILE
8         select HAVE_KPROBES
9         select HAVE_KRETPROBES
10
11 config SPARC64
12         bool
13         default y
14         select HAVE_IDE
15         select HAVE_LMB
16
17 config GENERIC_TIME
18         bool
19         default y
20
21 config GENERIC_CMOS_UPDATE
22         bool
23         default y
24
25 config GENERIC_CLOCKEVENTS
26         bool
27         default y
28
29 config 64BIT
30         def_bool y
31
32 config MMU
33         bool
34         default y
35
36 config IOMMU_HELPER
37         bool
38         default y
39
40 config QUICKLIST
41         bool
42         default y
43
44 config STACKTRACE_SUPPORT
45         bool
46         default y
47
48 config LOCKDEP_SUPPORT
49         bool
50         default y
51
52 config ARCH_MAY_HAVE_PC_FDC
53         bool
54         default y
55
56 config ARCH_HAS_ILOG2_U32
57         bool
58         default n
59
60 config ARCH_HAS_ILOG2_U64
61         bool
62         default n
63
64 config AUDIT_ARCH
65         bool
66         default y
67
68 config HAVE_SETUP_PER_CPU_AREA
69         def_bool y
70
71 config ARCH_NO_VIRT_TO_BUS
72         def_bool y
73
74 config OF
75         def_bool y
76
77 config GENERIC_HARDIRQS_NO__DO_IRQ
78         bool
79         def_bool y
80
81 choice
82         prompt "Kernel page size"
83         default SPARC64_PAGE_SIZE_8KB
84
85 config SPARC64_PAGE_SIZE_8KB
86         bool "8KB"
87         help
88           This lets you select the page size of the kernel.
89
90           8KB and 64KB work quite well, since SPARC ELF sections
91           provide for up to 64KB alignment.
92
93           Therefore, 512KB and 4MB are for expert hackers only.
94
95           If you don't know what to do, choose 8KB.
96
97 config SPARC64_PAGE_SIZE_64KB
98         bool "64KB"
99
100 config SPARC64_PAGE_SIZE_512KB
101         bool "512KB"
102
103 config SPARC64_PAGE_SIZE_4MB
104         bool "4MB"
105
106 endchoice
107
108 config SECCOMP
109         bool "Enable seccomp to safely compute untrusted bytecode"
110         depends on PROC_FS
111         default y
112         help
113           This kernel feature is useful for number crunching applications
114           that may need to compute untrusted bytecode during their
115           execution. By using pipes or other transports made available to
116           the process as file descriptors supporting the read/write
117           syscalls, it's possible to isolate those applications in
118           their own address space using seccomp. Once seccomp is
119           enabled via /proc/<pid>/seccomp, it cannot be disabled
120           and the task is only allowed to execute a few safe syscalls
121           defined by each seccomp mode.
122
123           If unsure, say Y. Only embedded should say N here.
124
125 source kernel/Kconfig.hz
126
127 config HOTPLUG_CPU
128         bool "Support for hot-pluggable CPUs"
129         depends on SMP
130         select HOTPLUG
131         help
132           Say Y here to experiment with turning CPUs off and on.  CPUs
133           can be controlled through /sys/devices/system/cpu/cpu#.
134           Say N if you want to disable CPU hotplug.
135
136 source "init/Kconfig"
137
138 config GENERIC_HARDIRQS
139         bool
140         default y
141
142 menu "General machine setup"
143
144 source "kernel/time/Kconfig"
145
146 config SMP
147         bool "Symmetric multi-processing support"
148         help
149           This enables support for systems with more than one CPU. If you have
150           a system with only one CPU, say N. If you have a system with more than
151           one CPU, say Y.
152
153           If you say N here, the kernel will run on single and multiprocessor
154           machines, but will use only one CPU of a multiprocessor machine. If
155           you say Y here, the kernel will run on single-processor machines.
156           On a single-processor machine, the kernel will run faster if you say
157           N here.
158
159           If you don't know what to do here, say N.
160
161 config NR_CPUS
162         int "Maximum number of CPUs (2-1024)"
163         range 2 1024
164         depends on SMP
165         default "64"
166
167 source "drivers/cpufreq/Kconfig"
168
169 config US3_FREQ
170         tristate "UltraSPARC-III CPU Frequency driver"
171         depends on CPU_FREQ
172         select CPU_FREQ_TABLE
173         help
174           This adds the CPUFreq driver for UltraSPARC-III processors.
175
176           For details, take a look at <file:Documentation/cpu-freq>.
177
178           If in doubt, say N.
179
180 config US2E_FREQ
181         tristate "UltraSPARC-IIe CPU Frequency driver"
182         depends on CPU_FREQ
183         select CPU_FREQ_TABLE
184         help
185           This adds the CPUFreq driver for UltraSPARC-IIe processors.
186
187           For details, take a look at <file:Documentation/cpu-freq>.
188
189           If in doubt, say N.
190
191 # Global things across all Sun machines.
192 config GENERIC_LOCKBREAK
193         bool
194         default y
195         depends on SMP && PREEMPT
196
197 config RWSEM_GENERIC_SPINLOCK
198         bool
199
200 config RWSEM_XCHGADD_ALGORITHM
201         bool
202         default y
203
204 config GENERIC_FIND_NEXT_BIT
205         bool
206         default y
207
208 config GENERIC_HWEIGHT
209         bool
210         default y if !ULTRA_HAS_POPULATION_COUNT
211
212 config GENERIC_CALIBRATE_DELAY
213         bool
214         default y
215
216 choice
217         prompt "SPARC64 Huge TLB Page Size"
218         depends on HUGETLB_PAGE
219         default HUGETLB_PAGE_SIZE_4MB
220
221 config HUGETLB_PAGE_SIZE_4MB
222         bool "4MB"
223
224 config HUGETLB_PAGE_SIZE_512K
225         depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB
226         bool "512K"
227
228 config HUGETLB_PAGE_SIZE_64K
229         depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64KB
230         bool "64K"
231
232 endchoice
233
234 endmenu
235
236 config NUMA
237         bool "NUMA support"
238
239 config NODES_SHIFT
240         int
241         default "4"
242         depends on NEED_MULTIPLE_NODES
243
244 # Some NUMA nodes have memory ranges that span
245 # other nodes.  Even though a pfn is valid and
246 # between a node's start and end pfns, it may not
247 # reside on that node.  See memmap_init_zone()
248 # for details.
249 config NODES_SPAN_OTHER_NODES
250         def_bool y
251         depends on NEED_MULTIPLE_NODES
252
253 config ARCH_POPULATES_NODE_MAP
254         def_bool y
255
256 config ARCH_SELECT_MEMORY_MODEL
257         def_bool y
258
259 config ARCH_SPARSEMEM_ENABLE
260         def_bool y
261         select SPARSEMEM_VMEMMAP_ENABLE
262
263 config ARCH_SPARSEMEM_DEFAULT
264         def_bool y
265
266 source "mm/Kconfig"
267
268 config ISA
269         bool
270
271 config ISAPNP
272         bool
273
274 config EISA
275         bool
276
277 config MCA
278         bool
279
280 config PCMCIA
281         tristate
282         help
283           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
284           computer.  These are credit-card size devices such as network cards,
285           modems or hard drives often used with laptops computers.  There are
286           actually two varieties of these cards: the older 16 bit PCMCIA cards
287           and the newer 32 bit CardBus cards.  If you want to use CardBus
288           cards, you need to say Y here and also to "CardBus support" below.
289
290           To use your PC-cards, you will need supporting software from David
291           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
292           for location).  Please also read the PCMCIA-HOWTO, available from
293           <http://www.tldp.org/docs.html#howto>.
294
295           To compile this driver as modules, choose M here: the
296           modules will be called pcmcia_core and ds.
297
298 config SBUS
299         bool
300         default y
301
302 config SBUSCHAR
303         bool
304         default y
305
306 config SUN_AUXIO
307         bool
308         default y
309
310 config SUN_IO
311         bool
312         default y
313
314 config SUN_LDOMS
315         bool "Sun Logical Domains support"
316         help
317           Say Y here is you want to support virtual devices via
318           Logical Domains.
319
320 config PCI
321         bool "PCI support"
322         select ARCH_SUPPORTS_MSI
323         help
324           Find out whether your system includes a PCI bus. PCI is the name of
325           a bus system, i.e. the way the CPU talks to the other stuff inside
326           your box.  If you say Y here, the kernel will include drivers and
327           infrastructure code to support PCI bus devices.
328
329 config PCI_DOMAINS
330         def_bool PCI
331
332 config PCI_SYSCALL
333         def_bool PCI
334
335 source "drivers/pci/Kconfig"
336
337 config SUN_OPENPROMFS
338         tristate "Openprom tree appears in /proc/openprom"
339         help
340           If you say Y, the OpenPROM device tree will be available as a
341           virtual file system, which you can mount to /proc/openprom by "mount
342           -t openpromfs none /proc/openprom".
343
344           To compile the /proc/openprom support as a module, choose M here: the
345           module will be called openpromfs.  If unsure, choose M.
346
347 menu "Executable file formats"
348
349 source "fs/Kconfig.binfmt"
350
351 config COMPAT
352         bool
353         default y
354         select COMPAT_BINFMT_ELF
355
356 config SYSVIPC_COMPAT
357         bool
358         depends on COMPAT && SYSVIPC
359         default y
360
361 endmenu
362
363 config SCHED_SMT
364         bool "SMT (Hyperthreading) scheduler support"
365         depends on SMP
366         default y
367         help
368           SMT scheduler support improves the CPU scheduler's decision making
369           when dealing with SPARC cpus at a cost of slightly increased overhead
370           in some places. If unsure say N here.
371
372 config SCHED_MC
373         bool "Multi-core scheduler support"
374         depends on SMP
375         default y
376         help
377           Multi-core scheduler support improves the CPU scheduler's decision
378           making when dealing with multi-core CPU chips at a cost of slightly
379           increased overhead in some places. If unsure say N here.
380
381 source "kernel/Kconfig.preempt"
382
383 config CMDLINE_BOOL
384         bool "Default bootloader kernel arguments"
385
386 config CMDLINE
387         string "Initial kernel command string"
388         depends on CMDLINE_BOOL
389         default "console=ttyS0,9600 root=/dev/sda1"
390         help
391           Say Y here if you want to be able to pass default arguments to
392           the kernel. This will be overridden by the bootloader, if you
393           use one (such as SILO). This is most useful if you want to boot
394           a kernel from TFTP, and want default options to be available
395           with having them passed on the command line.
396
397           NOTE: This option WILL override the PROM bootargs setting!
398
399 source "net/Kconfig"
400
401 source "drivers/Kconfig"
402
403 source "drivers/sbus/char/Kconfig"
404
405 source "fs/Kconfig"
406
407 source "arch/sparc64/Kconfig.debug"
408
409 source "security/Kconfig"
410
411 source "crypto/Kconfig"
412
413 source "lib/Kconfig"