async: make sure independent async domains can't accidentally entangle
[linux-2.6/mini2440.git] / arch / sparc / Kconfig
blobcc12cd48bbc51a41bc157681de49a2b1eeb102d3
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
5 mainmenu "Linux/SPARC Kernel Configuration"
7 config 64BIT
8         bool "64-bit kernel" if ARCH = "sparc"
9         default ARCH = "sparc64"
10         help
11           SPARC is a family of RISC microprocessors designed and marketed by
12           Sun Microsystems, incorporated.  They are very widely found in Sun
13           workstations and clones.
15           Say yes to build a 64-bit kernel - formerly known as sparc64
16           Say no to build a 32-bit kernel - formerly known as sparc
18 config SPARC
19         bool
20         default y
21         select HAVE_IDE
22         select HAVE_OPROFILE
23         select HAVE_ARCH_KGDB if !SMP || SPARC64
24         select HAVE_ARCH_TRACEHOOK
25         select ARCH_WANT_OPTIONAL_GPIOLIB
26         select RTC_CLASS
27         select RTC_DRV_M48T59
29 config SPARC32
30         def_bool !64BIT
32 config SPARC64
33         def_bool 64BIT
34         select ARCH_SUPPORTS_MSI
35         select HAVE_FUNCTION_TRACER
36         select HAVE_KRETPROBES
37         select HAVE_KPROBES
38         select HAVE_LMB
39         select HAVE_SYSCALL_WRAPPERS
40         select USE_GENERIC_SMP_HELPERS if SMP
41         select RTC_DRV_CMOS
42         select RTC_DRV_BQ4802
43         select RTC_DRV_SUN4V
44         select RTC_DRV_STARFIRE
46 config ARCH_DEFCONFIG
47         string
48         default "arch/sparc/configs/sparc32_defconfig" if SPARC32
49         default "arch/sparc/configs/sparc64_defconfig" if SPARC64
51 # CONFIG_BITS can be used at source level to get 32/64 bits
52 config BITS
53         int
54         default 32 if SPARC32
55         default 64 if SPARC64
57 config GENERIC_TIME
58         bool
59         default y if SPARC64
61 config GENERIC_CMOS_UPDATE
62         bool
63         default y if SPARC64
65 config GENERIC_CLOCKEVENTS
66         bool
67         default y if SPARC64
69 config IOMMU_HELPER
70         bool
71         default y if SPARC64
73 config QUICKLIST
74         bool
75         default y if SPARC64
77 config STACKTRACE_SUPPORT
78         bool
79         default y if SPARC64
81 config LOCKDEP_SUPPORT
82         bool
83         default y if SPARC64
85 config HAVE_LATENCYTOP_SUPPORT
86         bool
87         default y if SPARC64
89 config AUDIT_ARCH
90         bool
91         default y
93 config HAVE_SETUP_PER_CPU_AREA
94         def_bool y if SPARC64
96 config GENERIC_HARDIRQS_NO__DO_IRQ
97         bool
98         def_bool y if SPARC64
100 config MMU
101         bool
102         default y
104 config HIGHMEM
105         bool
106         default y if SPARC32
108 config ZONE_DMA
109         bool
110         default y if SPARC32
112 config GENERIC_ISA_DMA
113         bool
114         default y if SPARC32
116 config GENERIC_GPIO
117         bool
118         help
119           Generic GPIO API support
121 config ARCH_NO_VIRT_TO_BUS
122         def_bool y
124 config OF
125         def_bool y
127 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
128         def_bool y if SPARC64
130 source "init/Kconfig"
132 source "kernel/Kconfig.freezer"
134 menu "Processor type and features"
136 config SMP
137         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
138         ---help---
139           This enables support for systems with more than one CPU. If you have
140           a system with only one CPU, say N. If you have a system with more
141           than one CPU, say Y.
143           If you say N here, the kernel will run on single and multiprocessor
144           machines, but will use only one CPU of a multiprocessor machine. If
145           you say Y here, the kernel will run on many, but not all,
146           singleprocessor machines. On a singleprocessor machine, the kernel
147           will run faster if you say N here.
149           People using multiprocessor machines who say Y here should also say
150           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
151           Management" code will be disabled if you say Y here.
153           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
154           available at <http://www.tldp.org/docs.html#howto>.
156           If you don't know what to do here, say N.
158 config NR_CPUS
159         int "Maximum number of CPUs"
160         depends on SMP
161         range 2 32 if SPARC32
162         range 2 1024 if SPARC64
163         default 32 if SPARC32
164         default 64 if SPARC64
166 source kernel/Kconfig.hz
168 config RWSEM_GENERIC_SPINLOCK
169         bool
170         default y if SPARC32
172 config RWSEM_XCHGADD_ALGORITHM
173         bool
174         default y if SPARC64
176 config GENERIC_FIND_NEXT_BIT
177         bool
178         default y
180 config GENERIC_HWEIGHT
181         bool
182         default y if !ULTRA_HAS_POPULATION_COUNT
184 config GENERIC_CALIBRATE_DELAY
185         bool
186         default y
188 config ARCH_MAY_HAVE_PC_FDC
189         bool
190         default y
192 config EMULATED_CMPXCHG
193         bool
194         default y if SPARC32
195         help
196           Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
197           is emulated, and therefore it is not completely atomic.
199 # Makefile helpers
200 config SPARC32_SMP
201         bool
202         default y
203         depends on SPARC32 && SMP
205 config SPARC64_SMP
206         bool
207         default y
208         depends on SPARC64 && SMP
210 choice
211         prompt "Kernel page size" if SPARC64
212         default SPARC64_PAGE_SIZE_8KB
214 config SPARC64_PAGE_SIZE_8KB
215         bool "8KB"
216         help
217           This lets you select the page size of the kernel.
219           8KB and 64KB work quite well, since SPARC ELF sections
220           provide for up to 64KB alignment.
222           If you don't know what to do, choose 8KB.
224 config SPARC64_PAGE_SIZE_64KB
225         bool "64KB"
227 endchoice
229 config SECCOMP
230         bool "Enable seccomp to safely compute untrusted bytecode"
231         depends on SPARC64 && PROC_FS
232         default y
233         help
234           This kernel feature is useful for number crunching applications
235           that may need to compute untrusted bytecode during their
236           execution. By using pipes or other transports made available to
237           the process as file descriptors supporting the read/write
238           syscalls, it's possible to isolate those applications in
239           their own address space using seccomp. Once seccomp is
240           enabled via /proc/<pid>/seccomp, it cannot be disabled
241           and the task is only allowed to execute a few safe syscalls
242           defined by each seccomp mode.
244           If unsure, say Y. Only embedded should say N here.
246 config HOTPLUG_CPU
247         bool "Support for hot-pluggable CPUs"
248         depends on SPARC64 && SMP
249         select HOTPLUG
250         help
251           Say Y here to experiment with turning CPUs off and on.  CPUs
252           can be controlled through /sys/devices/system/cpu/cpu#.
253           Say N if you want to disable CPU hotplug.
255 config GENERIC_HARDIRQS
256         bool
257         default y if SPARC64
259 source "kernel/time/Kconfig"
261 if SPARC64
262 source "drivers/cpufreq/Kconfig"
264 config US3_FREQ
265         tristate "UltraSPARC-III CPU Frequency driver"
266         depends on CPU_FREQ
267         select CPU_FREQ_TABLE
268         help
269           This adds the CPUFreq driver for UltraSPARC-III processors.
271           For details, take a look at <file:Documentation/cpu-freq>.
273           If in doubt, say N.
275 config US2E_FREQ
276         tristate "UltraSPARC-IIe CPU Frequency driver"
277         depends on CPU_FREQ
278         select CPU_FREQ_TABLE
279         help
280           This adds the CPUFreq driver for UltraSPARC-IIe processors.
282           For details, take a look at <file:Documentation/cpu-freq>.
284           If in doubt, say N.
286 endif
288 config US3_MC
289         tristate "UltraSPARC-III Memory Controller driver"
290         depends on SPARC64
291         default y
292         help
293           This adds a driver for the UltraSPARC-III memory controller.
294           Loading this driver allows exact mnemonic strings to be
295           printed in the event of a memory error, so that the faulty DIMM
296           on the motherboard can be matched to the error.
298           If in doubt, say Y, as this information can be very useful.
300 # Global things across all Sun machines.
301 config GENERIC_LOCKBREAK
302         bool
303         default y
304         depends on SPARC64 && SMP && PREEMPT
306 choice
307         prompt "SPARC64 Huge TLB Page Size"
308         depends on SPARC64 && HUGETLB_PAGE
309         default HUGETLB_PAGE_SIZE_4MB
311 config HUGETLB_PAGE_SIZE_4MB
312         bool "4MB"
314 config HUGETLB_PAGE_SIZE_512K
315         bool "512K"
317 config HUGETLB_PAGE_SIZE_64K
318         depends on !SPARC64_PAGE_SIZE_64KB
319         bool "64K"
321 endchoice
323 config NUMA
324         bool "NUMA support"
325         depends on SPARC64 && SMP
327 config NODES_SHIFT
328         int
329         default "4"
330         depends on NEED_MULTIPLE_NODES
332 # Some NUMA nodes have memory ranges that span
333 # other nodes.  Even though a pfn is valid and
334 # between a node's start and end pfns, it may not
335 # reside on that node.  See memmap_init_zone()
336 # for details.
337 config NODES_SPAN_OTHER_NODES
338         def_bool y
339         depends on NEED_MULTIPLE_NODES
341 config ARCH_POPULATES_NODE_MAP
342         def_bool y if SPARC64
344 config ARCH_SELECT_MEMORY_MODEL
345         def_bool y if SPARC64
347 config ARCH_SPARSEMEM_ENABLE
348         def_bool y if SPARC64
349         select SPARSEMEM_VMEMMAP_ENABLE
351 config ARCH_SPARSEMEM_DEFAULT
352         def_bool y if SPARC64
354 source "mm/Kconfig"
356 config SCHED_SMT
357         bool "SMT (Hyperthreading) scheduler support"
358         depends on SPARC64 && SMP
359         default y
360         help
361           SMT scheduler support improves the CPU scheduler's decision making
362           when dealing with SPARC cpus at a cost of slightly increased overhead
363           in some places. If unsure say N here.
365 config SCHED_MC
366         bool "Multi-core scheduler support"
367         depends on SPARC64 && SMP
368         default y
369         help
370           Multi-core scheduler support improves the CPU scheduler's decision
371           making when dealing with multi-core CPU chips at a cost of slightly
372           increased overhead in some places. If unsure say N here.
374 if SPARC64
375 source "kernel/Kconfig.preempt"
376 endif
378 config CMDLINE_BOOL
379         bool "Default bootloader kernel arguments"
380         depends on SPARC64
382 config CMDLINE
383         string "Initial kernel command string"
384         depends on CMDLINE_BOOL
385         default "console=ttyS0,9600 root=/dev/sda1"
386         help
387           Say Y here if you want to be able to pass default arguments to
388           the kernel. This will be overridden by the bootloader, if you
389           use one (such as SILO). This is most useful if you want to boot
390           a kernel from TFTP, and want default options to be available
391           with having them passed on the command line.
393           NOTE: This option WILL override the PROM bootargs setting!
395 config SUN_PM
396         bool
397         default y if SPARC32
398         help
399           Enable power management and CPU standby features on supported
400           SPARC platforms.
402 config SPARC_LED
403         tristate "Sun4m LED driver"
404         depends on SPARC32
405         help
406           This driver toggles the front-panel LED on sun4m systems
407           in a user-specifiable manner.  Its state can be probed
408           by reading /proc/led and its blinking mode can be changed
409           via writes to /proc/led
411 config SERIAL_CONSOLE
412         bool
413         depends on SPARC32
414         default y
415         ---help---
416           If you say Y here, it will be possible to use a serial port as the
417           system console (the system console is the device which receives all
418           kernel messages and warnings and which allows logins in single user
419           mode). This could be useful if some terminal or printer is connected
420           to that serial port.
422           Even if you say Y here, the currently visible virtual console
423           (/dev/tty0) will still be used as the system console by default, but
424           you can alter that using a kernel command line option such as
425           "console=ttyS1". (Try "man bootparam" or see the documentation of
426           your boot loader (silo) about how to pass options to the kernel at
427           boot time.)
429           If you don't have a graphics card installed and you say Y here, the
430           kernel will automatically use the first serial line, /dev/ttyS0, as
431           system console.
433           If unsure, say N.
435 endmenu
437 menu "Bus options (PCI etc.)"
438 config SBUS
439         bool
440         default y
442 config SBUSCHAR
443         bool
444         default y
446 config SUN_LDOMS
447         bool "Sun Logical Domains support"
448         depends on SPARC64
449         help
450           Say Y here is you want to support virtual devices via
451           Logical Domains.
453 config PCI
454         bool "Support for PCI and PS/2 keyboard/mouse"
455         help
456           Find out whether your system includes a PCI bus. PCI is the name of
457           a bus system, i.e. the way the CPU talks to the other stuff inside
458           your box.  If you say Y here, the kernel will include drivers and
459           infrastructure code to support PCI bus devices.
461           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
462           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
463           All of these platforms are extremely obscure, so say N if unsure.
465 config PCI_DOMAINS
466         def_bool PCI if SPARC64
468 config PCI_SYSCALL
469         def_bool PCI
471 source "drivers/pci/Kconfig"
473 source "drivers/pcmcia/Kconfig"
475 config SUN_OPENPROMFS
476         tristate "Openprom tree appears in /proc/openprom"
477         help
478           If you say Y, the OpenPROM device tree will be available as a
479           virtual file system, which you can mount to /proc/openprom by "mount
480           -t openpromfs none /proc/openprom".
482           To compile the /proc/openprom support as a module, choose M here: the
483           module will be called openpromfs.
485           Only choose N if you know in advance that you will not need to modify
486           OpenPROM settings on the running system.
488 # Makefile helpers
489 config SPARC32_PCI
490         bool
491         default y
492         depends on SPARC32 && PCI
494 config SPARC64_PCI
495         bool
496         default y
497         depends on SPARC64 && PCI
499 endmenu
501 menu "Executable file formats"
503 source "fs/Kconfig.binfmt"
505 config COMPAT
506         bool
507         depends on SPARC64
508         default y
509         select COMPAT_BINFMT_ELF
511 config SYSVIPC_COMPAT
512         bool
513         depends on COMPAT && SYSVIPC
514         default y
516 endmenu
518 source "net/Kconfig"
520 source "drivers/Kconfig"
522 source "drivers/sbus/char/Kconfig"
524 source "fs/Kconfig"
526 source "arch/sparc/Kconfig.debug"
528 source "security/Kconfig"
530 source "crypto/Kconfig"
532 source "lib/Kconfig"