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