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