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