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 USE_GENERIC_SMP_HELPERS if SMP
44 select RTC_DRV_STARFIRE
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
61 config GENERIC_CMOS_UPDATE
65 config GENERIC_CLOCKEVENTS
77 config STACKTRACE_SUPPORT
81 config LOCKDEP_SUPPORT
85 config HAVE_LATENCYTOP_SUPPORT
93 config HAVE_SETUP_PER_CPU_AREA
96 config GENERIC_HARDIRQS_NO__DO_IRQ
112 config GENERIC_ISA_DMA
119 Generic GPIO API support
121 config ARCH_NO_VIRT_TO_BUS
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"
137 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
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
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.
159 int "Maximum number of CPUs"
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
172 config RWSEM_XCHGADD_ALGORITHM
176 config GENERIC_FIND_NEXT_BIT
180 config GENERIC_HWEIGHT
182 default y if !ULTRA_HAS_POPULATION_COUNT
184 config GENERIC_CALIBRATE_DELAY
188 config ARCH_MAY_HAVE_PC_FDC
192 config EMULATED_CMPXCHG
196 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
197 is emulated, and therefore it is not completely atomic.
203 depends on SPARC32 && SMP
208 depends on SPARC64 && SMP
211 prompt "Kernel page size" if SPARC64
212 default SPARC64_PAGE_SIZE_8KB
214 config SPARC64_PAGE_SIZE_8KB
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
230 bool "Enable seccomp to safely compute untrusted bytecode"
231 depends on SPARC64 && PROC_FS
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.
247 bool "Support for hot-pluggable CPUs"
248 depends on SPARC64 && SMP
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
259 source "kernel/time/Kconfig"
262 source "drivers/cpufreq/Kconfig"
265 tristate "UltraSPARC-III CPU Frequency driver"
267 select CPU_FREQ_TABLE
269 This adds the CPUFreq driver for UltraSPARC-III processors.
271 For details, take a look at <file:Documentation/cpu-freq>.
276 tristate "UltraSPARC-IIe CPU Frequency driver"
278 select CPU_FREQ_TABLE
280 This adds the CPUFreq driver for UltraSPARC-IIe processors.
282 For details, take a look at <file:Documentation/cpu-freq>.
289 tristate "UltraSPARC-III Memory Controller driver"
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
304 depends on SPARC64 && SMP && PREEMPT
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
314 config HUGETLB_PAGE_SIZE_512K
317 config HUGETLB_PAGE_SIZE_64K
318 depends on !SPARC64_PAGE_SIZE_64KB
325 depends on SPARC64 && SMP
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()
337 config NODES_SPAN_OTHER_NODES
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
357 bool "SMT (Hyperthreading) scheduler support"
358 depends on SPARC64 && SMP
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.
366 bool "Multi-core scheduler support"
367 depends on SPARC64 && SMP
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.
375 source "kernel/Kconfig.preempt"
379 bool "Default bootloader kernel arguments"
383 string "Initial kernel command string"
384 depends on CMDLINE_BOOL
385 default "console=ttyS0,9600 root=/dev/sda1"
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!
399 Enable power management and CPU standby features on supported
403 tristate "Sun4m LED driver"
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
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
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
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
437 menu "Bus options (PCI etc.)"
447 bool "Sun Logical Domains support"
450 Say Y here is you want to support virtual devices via
454 bool "Support for PCI and PS/2 keyboard/mouse"
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.
466 def_bool PCI if SPARC64
471 source "drivers/pci/Kconfig"
473 source "drivers/pcmcia/Kconfig"
475 config SUN_OPENPROMFS
476 tristate "Openprom tree appears in /proc/openprom"
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.
492 depends on SPARC32 && PCI
497 depends on SPARC64 && PCI
501 menu "Executable file formats"
503 source "fs/Kconfig.binfmt"
509 select COMPAT_BINFMT_ELF
511 config SYSVIPC_COMPAT
513 depends on COMPAT && SYSVIPC
520 source "drivers/Kconfig"
522 source "drivers/sbus/char/Kconfig"
526 source "arch/sparc/Kconfig.debug"
528 source "security/Kconfig"
530 source "crypto/Kconfig"