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