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