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