Merge master.kernel.org:/home/rmk/linux-2.6-arm
[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_SPARSEMEM_ENABLE
198         def_bool y
199
200 config ARCH_SPARSEMEM_DEFAULT
201         def_bool y
202
203 config LARGE_ALLOCS
204         def_bool y
205
206 source "mm/Kconfig"
207
208 config GENERIC_ISA_DMA
209         bool
210         default y
211
212 config ISA
213         bool
214         help
215           Find out whether you have ISA slots on your motherboard.  ISA is the
216           name of a bus system, i.e. the way the CPU talks to the other stuff
217           inside your box.  Other bus systems are PCI, EISA, MicroChannel
218           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
219           newer boards don't support it.  If you have ISA, say Y, otherwise N.
220
221 config ISAPNP
222         bool
223         help
224           Say Y here if you would like support for ISA Plug and Play devices.
225           Some information is in <file:Documentation/isapnp.txt>.
226
227           To compile this driver as a module, choose M here: the
228           module will be called isapnp.
229
230           If unsure, say Y.
231
232 config EISA
233         bool
234         ---help---
235           The Extended Industry Standard Architecture (EISA) bus was
236           developed as an open alternative to the IBM MicroChannel bus.
237
238           The EISA bus provided some of the features of the IBM MicroChannel
239           bus while maintaining backward compatibility with cards made for
240           the older ISA bus.  The EISA bus saw limited use between 1988 and
241           1995 when it was made obsolete by the PCI bus.
242
243           Say Y here if you are building a kernel for an EISA-based machine.
244
245           Otherwise, say N.
246
247 config MCA
248         bool
249         help
250           MicroChannel Architecture is found in some IBM PS/2 machines and
251           laptops.  It is a bus system similar to PCI or ISA. See
252           <file:Documentation/mca.txt> (and especially the web page given
253           there) before attempting to build an MCA bus kernel.
254
255 config PCMCIA
256         tristate
257         ---help---
258           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
259           computer.  These are credit-card size devices such as network cards,
260           modems or hard drives often used with laptops computers.  There are
261           actually two varieties of these cards: the older 16 bit PCMCIA cards
262           and the newer 32 bit CardBus cards.  If you want to use CardBus
263           cards, you need to say Y here and also to "CardBus support" below.
264
265           To use your PC-cards, you will need supporting software from David
266           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
267           for location).  Please also read the PCMCIA-HOWTO, available from
268           <http://www.tldp.org/docs.html#howto>.
269
270           To compile this driver as modules, choose M here: the
271           modules will be called pcmcia_core and ds.
272
273 config SBUS
274         bool
275         default y
276
277 config SBUSCHAR
278         bool
279         default y
280
281 config SUN_AUXIO
282         bool
283         default y
284
285 config SUN_IO
286         bool
287         default y
288
289 config PCI
290         bool "PCI support"
291         help
292           Find out whether you have a PCI motherboard. PCI is the name of a
293           bus system, i.e. the way the CPU talks to the other stuff inside
294           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
295           VESA. If you have PCI, say Y, otherwise N.
296
297           The PCI-HOWTO, available from
298           <http://www.tldp.org/docs.html#howto>, contains valuable
299           information about which PCI hardware does work under Linux and which
300           doesn't.
301
302 config PCI_DOMAINS
303         bool
304         default PCI
305
306 source "drivers/pci/Kconfig"
307
308 config SUN_OPENPROMFS
309         tristate "Openprom tree appears in /proc/openprom"
310         help
311           If you say Y, the OpenPROM device tree will be available as a
312           virtual file system, which you can mount to /proc/openprom by "mount
313           -t openpromfs none /proc/openprom".
314
315           To compile the /proc/openprom support as a module, choose M here: the
316           module will be called openpromfs.  If unsure, choose M.
317
318 config SPARC32_COMPAT
319         bool "Kernel support for Linux/Sparc 32bit binary compatibility"
320         help
321           This allows you to run 32-bit binaries on your Ultra.
322           Everybody wants this; say Y.
323
324 config COMPAT
325         bool
326         depends on SPARC32_COMPAT
327         default y
328
329 config BINFMT_ELF32
330         tristate "Kernel support for 32-bit ELF binaries"
331         depends on SPARC32_COMPAT
332         help
333           This allows you to run 32-bit Linux/ELF binaries on your Ultra.
334           Everybody wants this; say Y.
335
336 config BINFMT_AOUT32
337         bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
338         depends on SPARC32_COMPAT
339         help
340           This allows you to run 32-bit a.out format binaries on your Ultra.
341           If you want to run SunOS binaries (see SunOS binary emulation below)
342           or other a.out binaries, say Y. If unsure, say N.
343
344 menu "Executable file formats"
345
346 source "fs/Kconfig.binfmt"
347
348 config SUNOS_EMUL
349         bool "SunOS binary emulation"
350         depends on BINFMT_AOUT32
351         help
352           This allows you to run most SunOS binaries.  If you want to do this,
353           say Y here and place appropriate files in /usr/gnemul/sunos. See
354           <http://www.ultralinux.org/faq.html> for more information.  If you
355           want to run SunOS binaries on an Ultra you must also say Y to
356           "Kernel support for 32-bit a.out binaries" above.
357
358 config SOLARIS_EMUL
359         tristate "Solaris binary emulation (EXPERIMENTAL)"
360         depends on SPARC32_COMPAT && EXPERIMENTAL
361         help
362           This is experimental code which will enable you to run (many)
363           Solaris binaries on your SPARC Linux machine.
364
365           To compile this code as a module, choose M here: the
366           module will be called solaris.
367
368 endmenu
369
370 config SCHED_SMT
371         bool "SMT (Hyperthreading) scheduler support"
372         depends on SMP
373         default y
374         help
375           SMT scheduler support improves the CPU scheduler's decision making
376           when dealing with UltraSPARC cpus at a cost of slightly increased
377           overhead in some places. If unsure say N here.
378
379 config CMDLINE_BOOL
380         bool "Default bootloader kernel arguments"
381
382 config CMDLINE
383         string "Initial kernel command string"
384         depends on CMDLINE_BOOL
385         default "console=ttyS0,9600 root=/dev/sda1"
386         help
387           Say Y here if you want to be able to pass default arguments to
388           the kernel. This will be overridden by the bootloader, if you
389           use one (such as SILO). This is most useful if you want to boot
390           a kernel from TFTP, and want default options to be available
391           with having them passed on the command line.
392
393           NOTE: This option WILL override the PROM bootargs setting!
394
395 source "net/Kconfig"
396
397 source "drivers/Kconfig"
398
399 source "drivers/sbus/char/Kconfig"
400
401 source "drivers/fc4/Kconfig"
402
403 source "fs/Kconfig"
404
405 menu "Instrumentation Support"
406         depends on EXPERIMENTAL
407
408 source "arch/sparc64/oprofile/Kconfig"
409
410 config KPROBES
411         bool "Kprobes (EXPERIMENTAL)"
412         depends on EXPERIMENTAL && MODULES
413         help
414           Kprobes allows you to trap at almost any kernel address and
415           execute a callback function.  register_kprobe() establishes
416           a probepoint and specifies the callback.  Kprobes is useful
417           for kernel debugging, non-intrusive instrumentation and testing.
418           If in doubt, say "N".
419 endmenu
420
421 source "arch/sparc64/Kconfig.debug"
422
423 source "security/Kconfig"
424
425 source "crypto/Kconfig"
426
427 source "lib/Kconfig"