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