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