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