mac80211: track work started through callbacks
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / arch / sparc / Kconfig
blob33ac1a9ac881d33e50b2442a871aeee7a79106fe
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
28         select HAVE_PERF_EVENTS
29         select PERF_USE_VMALLOC
30         select HAVE_DMA_ATTRS
31         select HAVE_DMA_API_DEBUG
33 config SPARC32
34         def_bool !64BIT
36 config SPARC64
37         def_bool 64BIT
38         select ARCH_SUPPORTS_MSI
39         select HAVE_FUNCTION_TRACER
40         select HAVE_KRETPROBES
41         select HAVE_KPROBES
42         select HAVE_LMB
43         select HAVE_SYSCALL_WRAPPERS
44         select HAVE_DYNAMIC_FTRACE
45         select HAVE_FTRACE_MCOUNT_RECORD
46         select USE_GENERIC_SMP_HELPERS if SMP
47         select RTC_DRV_CMOS
48         select RTC_DRV_BQ4802
49         select RTC_DRV_SUN4V
50         select RTC_DRV_STARFIRE
51         select HAVE_PERF_EVENTS
52         select PERF_USE_VMALLOC
54 config ARCH_DEFCONFIG
55         string
56         default "arch/sparc/configs/sparc32_defconfig" if SPARC32
57         default "arch/sparc/configs/sparc64_defconfig" if SPARC64
59 # CONFIG_BITS can be used at source level to get 32/64 bits
60 config BITS
61         int
62         default 32 if SPARC32
63         default 64 if SPARC64
65 config GENERIC_TIME
66         bool
67         default y if SPARC64
69 config GENERIC_CMOS_UPDATE
70         bool
71         default y if SPARC64
73 config GENERIC_CLOCKEVENTS
74         bool
75         default y if SPARC64
77 config IOMMU_HELPER
78         bool
79         default y if SPARC64
81 config QUICKLIST
82         bool
83         default y if SPARC64
85 config STACKTRACE_SUPPORT
86         bool
87         default y if SPARC64
89 config LOCKDEP_SUPPORT
90         bool
91         default y if SPARC64
93 config HAVE_LATENCYTOP_SUPPORT
94         bool
95         default y if SPARC64
97 config AUDIT_ARCH
98         bool
99         default y
101 config HAVE_SETUP_PER_CPU_AREA
102         def_bool y if SPARC64
104 config NEED_PER_CPU_EMBED_FIRST_CHUNK
105         def_bool y if SPARC64
107 config NEED_PER_CPU_PAGE_FIRST_CHUNK
108         def_bool y if SPARC64
110 config GENERIC_HARDIRQS_NO__DO_IRQ
111         bool
112         def_bool y if SPARC64
114 config MMU
115         bool
116         default y
118 config HIGHMEM
119         bool
120         default y if SPARC32
122 config ZONE_DMA
123         bool
124         default y if SPARC32
126 config GENERIC_ISA_DMA
127         bool
128         default y if SPARC32
130 config GENERIC_GPIO
131         bool
132         help
133           Generic GPIO API support
135 config ARCH_NO_VIRT_TO_BUS
136         def_bool y
138 config OF
139         def_bool y
141 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
142         def_bool y if SPARC64
144 source "init/Kconfig"
146 source "kernel/Kconfig.freezer"
148 menu "Processor type and features"
150 config SMP
151         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
152         ---help---
153           This enables support for systems with more than one CPU. If you have
154           a system with only one CPU, say N. If you have a system with more
155           than one CPU, say Y.
157           If you say N here, the kernel will run on single and multiprocessor
158           machines, but will use only one CPU of a multiprocessor machine. If
159           you say Y here, the kernel will run on many, but not all,
160           singleprocessor machines. On a singleprocessor machine, the kernel
161           will run faster if you say N here.
163           People using multiprocessor machines who say Y here should also say
164           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
165           Management" code will be disabled if you say Y here.
167           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
168           available at <http://www.tldp.org/docs.html#howto>.
170           If you don't know what to do here, say N.
172 config NR_CPUS
173         int "Maximum number of CPUs"
174         depends on SMP
175         range 2 32 if SPARC32
176         range 2 1024 if SPARC64
177         default 32 if SPARC32
178         default 64 if SPARC64
180 source kernel/Kconfig.hz
182 config RWSEM_GENERIC_SPINLOCK
183         bool
184         default y if SPARC32
186 config RWSEM_XCHGADD_ALGORITHM
187         bool
188         default y if SPARC64
190 config GENERIC_FIND_NEXT_BIT
191         bool
192         default y
194 config GENERIC_HWEIGHT
195         bool
196         default y if !ULTRA_HAS_POPULATION_COUNT
198 config GENERIC_CALIBRATE_DELAY
199         bool
200         default y
202 config ARCH_MAY_HAVE_PC_FDC
203         bool
204         default y
206 config EMULATED_CMPXCHG
207         bool
208         default y if SPARC32
209         help
210           Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
211           is emulated, and therefore it is not completely atomic.
213 # Makefile helpers
214 config SPARC32_SMP
215         bool
216         default y
217         depends on SPARC32 && SMP
219 config SPARC64_SMP
220         bool
221         default y
222         depends on SPARC64 && SMP
224 config EARLYFB
225         bool "Support for early boot text console"
226         default y
227         depends on SPARC64
228         help
229           Say Y here to enable a faster early framebuffer boot console.
231 choice
232         prompt "Kernel page size" if SPARC64
233         default SPARC64_PAGE_SIZE_8KB
235 config SPARC64_PAGE_SIZE_8KB
236         bool "8KB"
237         help
238           This lets you select the page size of the kernel.
240           8KB and 64KB work quite well, since SPARC ELF sections
241           provide for up to 64KB alignment.
243           If you don't know what to do, choose 8KB.
245 config SPARC64_PAGE_SIZE_64KB
246         bool "64KB"
248 endchoice
250 config SECCOMP
251         bool "Enable seccomp to safely compute untrusted bytecode"
252         depends on SPARC64 && PROC_FS
253         default y
254         help
255           This kernel feature is useful for number crunching applications
256           that may need to compute untrusted bytecode during their
257           execution. By using pipes or other transports made available to
258           the process as file descriptors supporting the read/write
259           syscalls, it's possible to isolate those applications in
260           their own address space using seccomp. Once seccomp is
261           enabled via /proc/<pid>/seccomp, it cannot be disabled
262           and the task is only allowed to execute a few safe syscalls
263           defined by each seccomp mode.
265           If unsure, say Y. Only embedded should say N here.
267 config HOTPLUG_CPU
268         bool "Support for hot-pluggable CPUs"
269         depends on SPARC64 && SMP
270         select HOTPLUG
271         help
272           Say Y here to experiment with turning CPUs off and on.  CPUs
273           can be controlled through /sys/devices/system/cpu/cpu#.
274           Say N if you want to disable CPU hotplug.
276 config GENERIC_HARDIRQS
277         bool
278         default y if SPARC64
280 source "kernel/time/Kconfig"
282 if SPARC64
283 source "drivers/cpufreq/Kconfig"
285 config US3_FREQ
286         tristate "UltraSPARC-III CPU Frequency driver"
287         depends on CPU_FREQ
288         select CPU_FREQ_TABLE
289         help
290           This adds the CPUFreq driver for UltraSPARC-III processors.
292           For details, take a look at <file:Documentation/cpu-freq>.
294           If in doubt, say N.
296 config US2E_FREQ
297         tristate "UltraSPARC-IIe CPU Frequency driver"
298         depends on CPU_FREQ
299         select CPU_FREQ_TABLE
300         help
301           This adds the CPUFreq driver for UltraSPARC-IIe processors.
303           For details, take a look at <file:Documentation/cpu-freq>.
305           If in doubt, say N.
307 endif
309 config US3_MC
310         tristate "UltraSPARC-III Memory Controller driver"
311         depends on SPARC64
312         default y
313         help
314           This adds a driver for the UltraSPARC-III memory controller.
315           Loading this driver allows exact mnemonic strings to be
316           printed in the event of a memory error, so that the faulty DIMM
317           on the motherboard can be matched to the error.
319           If in doubt, say Y, as this information can be very useful.
321 # Global things across all Sun machines.
322 config GENERIC_LOCKBREAK
323         bool
324         default y
325         depends on SPARC64 && SMP && PREEMPT
327 choice
328         prompt "SPARC64 Huge TLB Page Size"
329         depends on SPARC64 && HUGETLB_PAGE
330         default HUGETLB_PAGE_SIZE_4MB
332 config HUGETLB_PAGE_SIZE_4MB
333         bool "4MB"
335 config HUGETLB_PAGE_SIZE_512K
336         bool "512K"
338 config HUGETLB_PAGE_SIZE_64K
339         depends on !SPARC64_PAGE_SIZE_64KB
340         bool "64K"
342 endchoice
344 config NUMA
345         bool "NUMA support"
346         depends on SPARC64 && SMP
348 config NODES_SHIFT
349         int
350         default "4"
351         depends on NEED_MULTIPLE_NODES
353 # Some NUMA nodes have memory ranges that span
354 # other nodes.  Even though a pfn is valid and
355 # between a node's start and end pfns, it may not
356 # reside on that node.  See memmap_init_zone()
357 # for details.
358 config NODES_SPAN_OTHER_NODES
359         def_bool y
360         depends on NEED_MULTIPLE_NODES
362 config ARCH_POPULATES_NODE_MAP
363         def_bool y if SPARC64
365 config ARCH_SELECT_MEMORY_MODEL
366         def_bool y if SPARC64
368 config ARCH_SPARSEMEM_ENABLE
369         def_bool y if SPARC64
370         select SPARSEMEM_VMEMMAP_ENABLE
372 config ARCH_SPARSEMEM_DEFAULT
373         def_bool y if SPARC64
375 source "mm/Kconfig"
377 config SCHED_SMT
378         bool "SMT (Hyperthreading) scheduler support"
379         depends on SPARC64 && SMP
380         default y
381         help
382           SMT scheduler support improves the CPU scheduler's decision making
383           when dealing with SPARC cpus at a cost of slightly increased overhead
384           in some places. If unsure say N here.
386 config SCHED_MC
387         bool "Multi-core scheduler support"
388         depends on SPARC64 && SMP
389         default y
390         help
391           Multi-core scheduler support improves the CPU scheduler's decision
392           making when dealing with multi-core CPU chips at a cost of slightly
393           increased overhead in some places. If unsure say N here.
395 if SPARC64
396 source "kernel/Kconfig.preempt"
397 endif
399 config CMDLINE_BOOL
400         bool "Default bootloader kernel arguments"
401         depends on SPARC64
403 config CMDLINE
404         string "Initial kernel command string"
405         depends on CMDLINE_BOOL
406         default "console=ttyS0,9600 root=/dev/sda1"
407         help
408           Say Y here if you want to be able to pass default arguments to
409           the kernel. This will be overridden by the bootloader, if you
410           use one (such as SILO). This is most useful if you want to boot
411           a kernel from TFTP, and want default options to be available
412           with having them passed on the command line.
414           NOTE: This option WILL override the PROM bootargs setting!
416 config SUN_PM
417         bool
418         default y if SPARC32
419         help
420           Enable power management and CPU standby features on supported
421           SPARC platforms.
423 config SPARC_LED
424         tristate "Sun4m LED driver"
425         depends on SPARC32
426         help
427           This driver toggles the front-panel LED on sun4m systems
428           in a user-specifiable manner.  Its state can be probed
429           by reading /proc/led and its blinking mode can be changed
430           via writes to /proc/led
432 config SERIAL_CONSOLE
433         bool
434         depends on SPARC32
435         default y
436         ---help---
437           If you say Y here, it will be possible to use a serial port as the
438           system console (the system console is the device which receives all
439           kernel messages and warnings and which allows logins in single user
440           mode). This could be useful if some terminal or printer is connected
441           to that serial port.
443           Even if you say Y here, the currently visible virtual console
444           (/dev/tty0) will still be used as the system console by default, but
445           you can alter that using a kernel command line option such as
446           "console=ttyS1". (Try "man bootparam" or see the documentation of
447           your boot loader (silo) about how to pass options to the kernel at
448           boot time.)
450           If you don't have a graphics card installed and you say Y here, the
451           kernel will automatically use the first serial line, /dev/ttyS0, as
452           system console.
454           If unsure, say N.
456 config SPARC_LEON
457         bool "Sparc Leon processor family"
458         depends on SPARC32
459         ---help---
460           If you say Y here if you are running on a SPARC-LEON processor.
461           The LEON processor is a synthesizable VHDL model of the
462           SPARC-v8 standard. LEON is  part of the GRLIB collection of
463           IP cores that are distributed under GPL. GRLIB can be downloaded
464           from www.gaisler.com. You can download a sparc-linux cross-compilation
465           toolchain at www.gaisler.com.
467 endmenu
469 menu "Bus options (PCI etc.)"
470 config SBUS
471         bool
472         default y
474 config SBUSCHAR
475         bool
476         default y
478 config SUN_LDOMS
479         bool "Sun Logical Domains support"
480         depends on SPARC64
481         help
482           Say Y here is you want to support virtual devices via
483           Logical Domains.
485 config PCI
486         bool "Support for PCI and PS/2 keyboard/mouse"
487         help
488           Find out whether your system includes a PCI bus. PCI is the name of
489           a bus system, i.e. the way the CPU talks to the other stuff inside
490           your box.  If you say Y here, the kernel will include drivers and
491           infrastructure code to support PCI bus devices.
493           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
494           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
495           All of these platforms are extremely obscure, so say N if unsure.
497 config PCI_DOMAINS
498         def_bool PCI if SPARC64
500 config PCI_SYSCALL
501         def_bool PCI
503 source "drivers/pci/Kconfig"
505 source "drivers/pcmcia/Kconfig"
507 config SUN_OPENPROMFS
508         tristate "Openprom tree appears in /proc/openprom"
509         help
510           If you say Y, the OpenPROM device tree will be available as a
511           virtual file system, which you can mount to /proc/openprom by "mount
512           -t openpromfs none /proc/openprom".
514           To compile the /proc/openprom support as a module, choose M here: the
515           module will be called openpromfs.
517           Only choose N if you know in advance that you will not need to modify
518           OpenPROM settings on the running system.
520 # Makefile helpers
521 config SPARC32_PCI
522         bool
523         default y
524         depends on SPARC32 && PCI
526 config SPARC64_PCI
527         bool
528         default y
529         depends on SPARC64 && PCI
531 endmenu
533 menu "Executable file formats"
535 source "fs/Kconfig.binfmt"
537 config COMPAT
538         bool
539         depends on SPARC64
540         default y
541         select COMPAT_BINFMT_ELF
543 config SYSVIPC_COMPAT
544         bool
545         depends on COMPAT && SYSVIPC
546         default y
548 endmenu
550 source "net/Kconfig"
552 source "drivers/Kconfig"
554 source "drivers/sbus/char/Kconfig"
556 source "fs/Kconfig"
558 source "arch/sparc/Kconfig.debug"
560 source "security/Kconfig"
562 source "crypto/Kconfig"
564 source "lib/Kconfig"