Linux 2.6.31.6
[linux/fpc-iii.git] / arch / sparc / Kconfig
blob3f8b6a92eabdff56413ed4cefd54d678290a228a
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 HAVE_DYNAMIC_FTRACE
41         select HAVE_FTRACE_MCOUNT_RECORD
42         select USE_GENERIC_SMP_HELPERS if SMP
43         select RTC_DRV_CMOS
44         select RTC_DRV_BQ4802
45         select RTC_DRV_SUN4V
46         select RTC_DRV_STARFIRE
48 config ARCH_DEFCONFIG
49         string
50         default "arch/sparc/configs/sparc32_defconfig" if SPARC32
51         default "arch/sparc/configs/sparc64_defconfig" if SPARC64
53 # CONFIG_BITS can be used at source level to get 32/64 bits
54 config BITS
55         int
56         default 32 if SPARC32
57         default 64 if SPARC64
59 config GENERIC_TIME
60         bool
61         default y if SPARC64
63 config GENERIC_CMOS_UPDATE
64         bool
65         default y if SPARC64
67 config GENERIC_CLOCKEVENTS
68         bool
69         default y if SPARC64
71 config IOMMU_HELPER
72         bool
73         default y if SPARC64
75 config QUICKLIST
76         bool
77         default y if SPARC64
79 config STACKTRACE_SUPPORT
80         bool
81         default y if SPARC64
83 config LOCKDEP_SUPPORT
84         bool
85         default y if SPARC64
87 config HAVE_LATENCYTOP_SUPPORT
88         bool
89         default y if SPARC64
91 config AUDIT_ARCH
92         bool
93         default y
95 config HAVE_SETUP_PER_CPU_AREA
96         def_bool y if SPARC64
98 config HAVE_DYNAMIC_PER_CPU_AREA
99         def_bool y if SPARC64
101 config GENERIC_HARDIRQS_NO__DO_IRQ
102         bool
103         def_bool y if SPARC64
105 config MMU
106         bool
107         default y
109 config HIGHMEM
110         bool
111         default y if SPARC32
113 config ZONE_DMA
114         bool
115         default y if SPARC32
117 config GENERIC_ISA_DMA
118         bool
119         default y if SPARC32
121 config GENERIC_GPIO
122         bool
123         help
124           Generic GPIO API support
126 config ARCH_NO_VIRT_TO_BUS
127         def_bool y
129 config OF
130         def_bool y
132 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
133         def_bool y if SPARC64
135 source "init/Kconfig"
137 source "kernel/Kconfig.freezer"
139 menu "Processor type and features"
141 config SMP
142         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
143         ---help---
144           This enables support for systems with more than one CPU. If you have
145           a system with only one CPU, say N. If you have a system with more
146           than one CPU, say Y.
148           If you say N here, the kernel will run on single and multiprocessor
149           machines, but will use only one CPU of a multiprocessor machine. If
150           you say Y here, the kernel will run on many, but not all,
151           singleprocessor machines. On a singleprocessor machine, the kernel
152           will run faster if you say N here.
154           People using multiprocessor machines who say Y here should also say
155           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
156           Management" code will be disabled if you say Y here.
158           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
159           available at <http://www.tldp.org/docs.html#howto>.
161           If you don't know what to do here, say N.
163 config NR_CPUS
164         int "Maximum number of CPUs"
165         depends on SMP
166         range 2 32 if SPARC32
167         range 2 1024 if SPARC64
168         default 32 if SPARC32
169         default 64 if SPARC64
171 source kernel/Kconfig.hz
173 config RWSEM_GENERIC_SPINLOCK
174         bool
175         default y if SPARC32
177 config RWSEM_XCHGADD_ALGORITHM
178         bool
179         default y if SPARC64
181 config GENERIC_FIND_NEXT_BIT
182         bool
183         default y
185 config GENERIC_HWEIGHT
186         bool
187         default y if !ULTRA_HAS_POPULATION_COUNT
189 config GENERIC_CALIBRATE_DELAY
190         bool
191         default y
193 config ARCH_MAY_HAVE_PC_FDC
194         bool
195         default y
197 config EMULATED_CMPXCHG
198         bool
199         default y if SPARC32
200         help
201           Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
202           is emulated, and therefore it is not completely atomic.
204 # Makefile helpers
205 config SPARC32_SMP
206         bool
207         default y
208         depends on SPARC32 && SMP
210 config SPARC64_SMP
211         bool
212         default y
213         depends on SPARC64 && SMP
215 choice
216         prompt "Kernel page size" if SPARC64
217         default SPARC64_PAGE_SIZE_8KB
219 config SPARC64_PAGE_SIZE_8KB
220         bool "8KB"
221         help
222           This lets you select the page size of the kernel.
224           8KB and 64KB work quite well, since SPARC ELF sections
225           provide for up to 64KB alignment.
227           If you don't know what to do, choose 8KB.
229 config SPARC64_PAGE_SIZE_64KB
230         bool "64KB"
232 endchoice
234 config SECCOMP
235         bool "Enable seccomp to safely compute untrusted bytecode"
236         depends on SPARC64 && PROC_FS
237         default y
238         help
239           This kernel feature is useful for number crunching applications
240           that may need to compute untrusted bytecode during their
241           execution. By using pipes or other transports made available to
242           the process as file descriptors supporting the read/write
243           syscalls, it's possible to isolate those applications in
244           their own address space using seccomp. Once seccomp is
245           enabled via /proc/<pid>/seccomp, it cannot be disabled
246           and the task is only allowed to execute a few safe syscalls
247           defined by each seccomp mode.
249           If unsure, say Y. Only embedded should say N here.
251 config HOTPLUG_CPU
252         bool "Support for hot-pluggable CPUs"
253         depends on SPARC64 && SMP
254         select HOTPLUG
255         help
256           Say Y here to experiment with turning CPUs off and on.  CPUs
257           can be controlled through /sys/devices/system/cpu/cpu#.
258           Say N if you want to disable CPU hotplug.
260 config GENERIC_HARDIRQS
261         bool
262         default y if SPARC64
264 source "kernel/time/Kconfig"
266 if SPARC64
267 source "drivers/cpufreq/Kconfig"
269 config US3_FREQ
270         tristate "UltraSPARC-III CPU Frequency driver"
271         depends on CPU_FREQ
272         select CPU_FREQ_TABLE
273         help
274           This adds the CPUFreq driver for UltraSPARC-III processors.
276           For details, take a look at <file:Documentation/cpu-freq>.
278           If in doubt, say N.
280 config US2E_FREQ
281         tristate "UltraSPARC-IIe CPU Frequency driver"
282         depends on CPU_FREQ
283         select CPU_FREQ_TABLE
284         help
285           This adds the CPUFreq driver for UltraSPARC-IIe processors.
287           For details, take a look at <file:Documentation/cpu-freq>.
289           If in doubt, say N.
291 endif
293 config US3_MC
294         tristate "UltraSPARC-III Memory Controller driver"
295         depends on SPARC64
296         default y
297         help
298           This adds a driver for the UltraSPARC-III memory controller.
299           Loading this driver allows exact mnemonic strings to be
300           printed in the event of a memory error, so that the faulty DIMM
301           on the motherboard can be matched to the error.
303           If in doubt, say Y, as this information can be very useful.
305 # Global things across all Sun machines.
306 config GENERIC_LOCKBREAK
307         bool
308         default y
309         depends on SPARC64 && SMP && PREEMPT
311 choice
312         prompt "SPARC64 Huge TLB Page Size"
313         depends on SPARC64 && HUGETLB_PAGE
314         default HUGETLB_PAGE_SIZE_4MB
316 config HUGETLB_PAGE_SIZE_4MB
317         bool "4MB"
319 config HUGETLB_PAGE_SIZE_512K
320         bool "512K"
322 config HUGETLB_PAGE_SIZE_64K
323         depends on !SPARC64_PAGE_SIZE_64KB
324         bool "64K"
326 endchoice
328 config NUMA
329         bool "NUMA support"
330         depends on SPARC64 && SMP
332 config NODES_SHIFT
333         int
334         default "4"
335         depends on NEED_MULTIPLE_NODES
337 # Some NUMA nodes have memory ranges that span
338 # other nodes.  Even though a pfn is valid and
339 # between a node's start and end pfns, it may not
340 # reside on that node.  See memmap_init_zone()
341 # for details.
342 config NODES_SPAN_OTHER_NODES
343         def_bool y
344         depends on NEED_MULTIPLE_NODES
346 config ARCH_POPULATES_NODE_MAP
347         def_bool y if SPARC64
349 config ARCH_SELECT_MEMORY_MODEL
350         def_bool y if SPARC64
352 config ARCH_SPARSEMEM_ENABLE
353         def_bool y if SPARC64
354         select SPARSEMEM_VMEMMAP_ENABLE
356 config ARCH_SPARSEMEM_DEFAULT
357         def_bool y if SPARC64
359 source "mm/Kconfig"
361 config SCHED_SMT
362         bool "SMT (Hyperthreading) scheduler support"
363         depends on SPARC64 && SMP
364         default y
365         help
366           SMT scheduler support improves the CPU scheduler's decision making
367           when dealing with SPARC cpus at a cost of slightly increased overhead
368           in some places. If unsure say N here.
370 config SCHED_MC
371         bool "Multi-core scheduler support"
372         depends on SPARC64 && SMP
373         default y
374         help
375           Multi-core scheduler support improves the CPU scheduler's decision
376           making when dealing with multi-core CPU chips at a cost of slightly
377           increased overhead in some places. If unsure say N here.
379 if SPARC64
380 source "kernel/Kconfig.preempt"
381 endif
383 config CMDLINE_BOOL
384         bool "Default bootloader kernel arguments"
385         depends on SPARC64
387 config CMDLINE
388         string "Initial kernel command string"
389         depends on CMDLINE_BOOL
390         default "console=ttyS0,9600 root=/dev/sda1"
391         help
392           Say Y here if you want to be able to pass default arguments to
393           the kernel. This will be overridden by the bootloader, if you
394           use one (such as SILO). This is most useful if you want to boot
395           a kernel from TFTP, and want default options to be available
396           with having them passed on the command line.
398           NOTE: This option WILL override the PROM bootargs setting!
400 config SUN_PM
401         bool
402         default y if SPARC32
403         help
404           Enable power management and CPU standby features on supported
405           SPARC platforms.
407 config SPARC_LED
408         tristate "Sun4m LED driver"
409         depends on SPARC32
410         help
411           This driver toggles the front-panel LED on sun4m systems
412           in a user-specifiable manner.  Its state can be probed
413           by reading /proc/led and its blinking mode can be changed
414           via writes to /proc/led
416 config SERIAL_CONSOLE
417         bool
418         depends on SPARC32
419         default y
420         ---help---
421           If you say Y here, it will be possible to use a serial port as the
422           system console (the system console is the device which receives all
423           kernel messages and warnings and which allows logins in single user
424           mode). This could be useful if some terminal or printer is connected
425           to that serial port.
427           Even if you say Y here, the currently visible virtual console
428           (/dev/tty0) will still be used as the system console by default, but
429           you can alter that using a kernel command line option such as
430           "console=ttyS1". (Try "man bootparam" or see the documentation of
431           your boot loader (silo) about how to pass options to the kernel at
432           boot time.)
434           If you don't have a graphics card installed and you say Y here, the
435           kernel will automatically use the first serial line, /dev/ttyS0, as
436           system console.
438           If unsure, say N.
440 endmenu
442 menu "Bus options (PCI etc.)"
443 config SBUS
444         bool
445         default y
447 config SBUSCHAR
448         bool
449         default y
451 config SUN_LDOMS
452         bool "Sun Logical Domains support"
453         depends on SPARC64
454         help
455           Say Y here is you want to support virtual devices via
456           Logical Domains.
458 config PCI
459         bool "Support for PCI and PS/2 keyboard/mouse"
460         help
461           Find out whether your system includes a PCI bus. PCI is the name of
462           a bus system, i.e. the way the CPU talks to the other stuff inside
463           your box.  If you say Y here, the kernel will include drivers and
464           infrastructure code to support PCI bus devices.
466           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
467           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
468           All of these platforms are extremely obscure, so say N if unsure.
470 config PCI_DOMAINS
471         def_bool PCI if SPARC64
473 config PCI_SYSCALL
474         def_bool PCI
476 source "drivers/pci/Kconfig"
478 source "drivers/pcmcia/Kconfig"
480 config SUN_OPENPROMFS
481         tristate "Openprom tree appears in /proc/openprom"
482         help
483           If you say Y, the OpenPROM device tree will be available as a
484           virtual file system, which you can mount to /proc/openprom by "mount
485           -t openpromfs none /proc/openprom".
487           To compile the /proc/openprom support as a module, choose M here: the
488           module will be called openpromfs.
490           Only choose N if you know in advance that you will not need to modify
491           OpenPROM settings on the running system.
493 # Makefile helpers
494 config SPARC32_PCI
495         bool
496         default y
497         depends on SPARC32 && PCI
499 config SPARC64_PCI
500         bool
501         default y
502         depends on SPARC64 && PCI
504 endmenu
506 menu "Executable file formats"
508 source "fs/Kconfig.binfmt"
510 config COMPAT
511         bool
512         depends on SPARC64
513         default y
514         select COMPAT_BINFMT_ELF
516 config SYSVIPC_COMPAT
517         bool
518         depends on COMPAT && SYSVIPC
519         default y
521 endmenu
523 source "net/Kconfig"
525 source "drivers/Kconfig"
527 source "drivers/sbus/char/Kconfig"
529 source "fs/Kconfig"
531 source "arch/sparc/Kconfig.debug"
533 source "security/Kconfig"
535 source "crypto/Kconfig"
537 source "lib/Kconfig"