1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
5 mainmenu "Linux/SPARC Kernel Configuration"
8 bool "64-bit kernel" if ARCH = "sparc"
9 default ARCH = "sparc64"
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
23 select HAVE_ARCH_KGDB if !SMP || SPARC64
24 select HAVE_ARCH_TRACEHOOK
25 select ARCH_WANT_OPTIONAL_GPIOLIB
34 select ARCH_SUPPORTS_MSI
35 select HAVE_FUNCTION_TRACER
36 select HAVE_KRETPROBES
39 select HAVE_SYSCALL_WRAPPERS
40 select HAVE_DYNAMIC_FTRACE
41 select HAVE_FTRACE_MCOUNT_RECORD
42 select USE_GENERIC_SMP_HELPERS if SMP
46 select RTC_DRV_STARFIRE
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
63 config GENERIC_CMOS_UPDATE
67 config GENERIC_CLOCKEVENTS
79 config STACKTRACE_SUPPORT
83 config LOCKDEP_SUPPORT
87 config HAVE_LATENCYTOP_SUPPORT
95 config HAVE_SETUP_PER_CPU_AREA
98 config GENERIC_HARDIRQS_NO__DO_IRQ
100 def_bool y if SPARC64
114 config GENERIC_ISA_DMA
121 Generic GPIO API support
123 config ARCH_NO_VIRT_TO_BUS
129 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
130 def_bool y if SPARC64
132 source "init/Kconfig"
134 source "kernel/Kconfig.freezer"
136 menu "Processor type and features"
139 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
141 This enables support for systems with more than one CPU. If you have
142 a system with only one CPU, say N. If you have a system with more
145 If you say N here, the kernel will run on single and multiprocessor
146 machines, but will use only one CPU of a multiprocessor machine. If
147 you say Y here, the kernel will run on many, but not all,
148 singleprocessor machines. On a singleprocessor machine, the kernel
149 will run faster if you say N here.
151 People using multiprocessor machines who say Y here should also say
152 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
153 Management" code will be disabled if you say Y here.
155 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
156 available at <http://www.tldp.org/docs.html#howto>.
158 If you don't know what to do here, say N.
161 int "Maximum number of CPUs"
163 range 2 32 if SPARC32
164 range 2 1024 if SPARC64
165 default 32 if SPARC32
166 default 64 if SPARC64
168 source kernel/Kconfig.hz
170 config RWSEM_GENERIC_SPINLOCK
174 config RWSEM_XCHGADD_ALGORITHM
178 config GENERIC_FIND_NEXT_BIT
182 config GENERIC_HWEIGHT
184 default y if !ULTRA_HAS_POPULATION_COUNT
186 config GENERIC_CALIBRATE_DELAY
190 config ARCH_MAY_HAVE_PC_FDC
194 config EMULATED_CMPXCHG
198 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
199 is emulated, and therefore it is not completely atomic.
205 depends on SPARC32 && SMP
210 depends on SPARC64 && SMP
213 prompt "Kernel page size" if SPARC64
214 default SPARC64_PAGE_SIZE_8KB
216 config SPARC64_PAGE_SIZE_8KB
219 This lets you select the page size of the kernel.
221 8KB and 64KB work quite well, since SPARC ELF sections
222 provide for up to 64KB alignment.
224 If you don't know what to do, choose 8KB.
226 config SPARC64_PAGE_SIZE_64KB
232 bool "Enable seccomp to safely compute untrusted bytecode"
233 depends on SPARC64 && PROC_FS
236 This kernel feature is useful for number crunching applications
237 that may need to compute untrusted bytecode during their
238 execution. By using pipes or other transports made available to
239 the process as file descriptors supporting the read/write
240 syscalls, it's possible to isolate those applications in
241 their own address space using seccomp. Once seccomp is
242 enabled via /proc/<pid>/seccomp, it cannot be disabled
243 and the task is only allowed to execute a few safe syscalls
244 defined by each seccomp mode.
246 If unsure, say Y. Only embedded should say N here.
249 bool "Support for hot-pluggable CPUs"
250 depends on SPARC64 && SMP
253 Say Y here to experiment with turning CPUs off and on. CPUs
254 can be controlled through /sys/devices/system/cpu/cpu#.
255 Say N if you want to disable CPU hotplug.
257 config GENERIC_HARDIRQS
261 source "kernel/time/Kconfig"
264 source "drivers/cpufreq/Kconfig"
267 tristate "UltraSPARC-III CPU Frequency driver"
269 select CPU_FREQ_TABLE
271 This adds the CPUFreq driver for UltraSPARC-III processors.
273 For details, take a look at <file:Documentation/cpu-freq>.
278 tristate "UltraSPARC-IIe CPU Frequency driver"
280 select CPU_FREQ_TABLE
282 This adds the CPUFreq driver for UltraSPARC-IIe processors.
284 For details, take a look at <file:Documentation/cpu-freq>.
291 tristate "UltraSPARC-III Memory Controller driver"
295 This adds a driver for the UltraSPARC-III memory controller.
296 Loading this driver allows exact mnemonic strings to be
297 printed in the event of a memory error, so that the faulty DIMM
298 on the motherboard can be matched to the error.
300 If in doubt, say Y, as this information can be very useful.
302 # Global things across all Sun machines.
303 config GENERIC_LOCKBREAK
306 depends on SPARC64 && SMP && PREEMPT
309 prompt "SPARC64 Huge TLB Page Size"
310 depends on SPARC64 && HUGETLB_PAGE
311 default HUGETLB_PAGE_SIZE_4MB
313 config HUGETLB_PAGE_SIZE_4MB
316 config HUGETLB_PAGE_SIZE_512K
319 config HUGETLB_PAGE_SIZE_64K
320 depends on !SPARC64_PAGE_SIZE_64KB
327 depends on SPARC64 && SMP
332 depends on NEED_MULTIPLE_NODES
334 # Some NUMA nodes have memory ranges that span
335 # other nodes. Even though a pfn is valid and
336 # between a node's start and end pfns, it may not
337 # reside on that node. See memmap_init_zone()
339 config NODES_SPAN_OTHER_NODES
341 depends on NEED_MULTIPLE_NODES
343 config ARCH_POPULATES_NODE_MAP
344 def_bool y if SPARC64
346 config ARCH_SELECT_MEMORY_MODEL
347 def_bool y if SPARC64
349 config ARCH_SPARSEMEM_ENABLE
350 def_bool y if SPARC64
351 select SPARSEMEM_VMEMMAP_ENABLE
353 config ARCH_SPARSEMEM_DEFAULT
354 def_bool y if SPARC64
359 bool "SMT (Hyperthreading) scheduler support"
360 depends on SPARC64 && SMP
363 SMT scheduler support improves the CPU scheduler's decision making
364 when dealing with SPARC cpus at a cost of slightly increased overhead
365 in some places. If unsure say N here.
368 bool "Multi-core scheduler support"
369 depends on SPARC64 && SMP
372 Multi-core scheduler support improves the CPU scheduler's decision
373 making when dealing with multi-core CPU chips at a cost of slightly
374 increased overhead in some places. If unsure say N here.
377 source "kernel/Kconfig.preempt"
381 bool "Default bootloader kernel arguments"
385 string "Initial kernel command string"
386 depends on CMDLINE_BOOL
387 default "console=ttyS0,9600 root=/dev/sda1"
389 Say Y here if you want to be able to pass default arguments to
390 the kernel. This will be overridden by the bootloader, if you
391 use one (such as SILO). This is most useful if you want to boot
392 a kernel from TFTP, and want default options to be available
393 with having them passed on the command line.
395 NOTE: This option WILL override the PROM bootargs setting!
401 Enable power management and CPU standby features on supported
405 tristate "Sun4m LED driver"
408 This driver toggles the front-panel LED on sun4m systems
409 in a user-specifiable manner. Its state can be probed
410 by reading /proc/led and its blinking mode can be changed
411 via writes to /proc/led
413 config SERIAL_CONSOLE
418 If you say Y here, it will be possible to use a serial port as the
419 system console (the system console is the device which receives all
420 kernel messages and warnings and which allows logins in single user
421 mode). This could be useful if some terminal or printer is connected
424 Even if you say Y here, the currently visible virtual console
425 (/dev/tty0) will still be used as the system console by default, but
426 you can alter that using a kernel command line option such as
427 "console=ttyS1". (Try "man bootparam" or see the documentation of
428 your boot loader (silo) about how to pass options to the kernel at
431 If you don't have a graphics card installed and you say Y here, the
432 kernel will automatically use the first serial line, /dev/ttyS0, as
439 menu "Bus options (PCI etc.)"
449 bool "Sun Logical Domains support"
452 Say Y here is you want to support virtual devices via
456 bool "Support for PCI and PS/2 keyboard/mouse"
458 Find out whether your system includes a PCI bus. PCI is the name of
459 a bus system, i.e. the way the CPU talks to the other stuff inside
460 your box. If you say Y here, the kernel will include drivers and
461 infrastructure code to support PCI bus devices.
463 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
464 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
465 All of these platforms are extremely obscure, so say N if unsure.
468 def_bool PCI if SPARC64
473 source "drivers/pci/Kconfig"
475 source "drivers/pcmcia/Kconfig"
477 config SUN_OPENPROMFS
478 tristate "Openprom tree appears in /proc/openprom"
480 If you say Y, the OpenPROM device tree will be available as a
481 virtual file system, which you can mount to /proc/openprom by "mount
482 -t openpromfs none /proc/openprom".
484 To compile the /proc/openprom support as a module, choose M here: the
485 module will be called openpromfs.
487 Only choose N if you know in advance that you will not need to modify
488 OpenPROM settings on the running system.
494 depends on SPARC32 && PCI
499 depends on SPARC64 && PCI
503 menu "Executable file formats"
505 source "fs/Kconfig.binfmt"
511 select COMPAT_BINFMT_ELF
513 config SYSVIPC_COMPAT
515 depends on COMPAT && SYSVIPC
522 source "drivers/Kconfig"
524 source "drivers/sbus/char/Kconfig"
528 source "arch/sparc/Kconfig.debug"
530 source "security/Kconfig"
532 source "crypto/Kconfig"