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