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