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