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