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 source "init/Kconfig"
129 source "kernel/Kconfig.freezer"
131 menu "Processor type and features"
134 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
136 This enables support for systems with more than one CPU. If you have
137 a system with only one CPU, say N. If you have a system with more
140 If you say N here, the kernel will run on single and multiprocessor
141 machines, but will use only one CPU of a multiprocessor machine. If
142 you say Y here, the kernel will run on many, but not all,
143 singleprocessor machines. On a singleprocessor machine, the kernel
144 will run faster if you say N here.
146 People using multiprocessor machines who say Y here should also say
147 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
148 Management" code will be disabled if you say Y here.
150 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
151 available at <http://www.tldp.org/docs.html#howto>.
153 If you don't know what to do here, say N.
156 int "Maximum number of CPUs"
158 range 2 32 if SPARC32
159 range 2 1024 if SPARC64
160 default 32 if SPARC32
161 default 64 if SPARC64
163 source kernel/Kconfig.hz
165 config RWSEM_GENERIC_SPINLOCK
169 config RWSEM_XCHGADD_ALGORITHM
173 config GENERIC_FIND_NEXT_BIT
177 config GENERIC_HWEIGHT
179 default y if !ULTRA_HAS_POPULATION_COUNT
181 config GENERIC_CALIBRATE_DELAY
185 config ARCH_MAY_HAVE_PC_FDC
189 config EMULATED_CMPXCHG
193 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
194 is emulated, and therefore it is not completely atomic.
200 depends on SPARC32 && SMP
205 depends on SPARC64 && SMP
208 prompt "Kernel page size" if SPARC64
209 default SPARC64_PAGE_SIZE_8KB
211 config SPARC64_PAGE_SIZE_8KB
214 This lets you select the page size of the kernel.
216 8KB and 64KB work quite well, since SPARC ELF sections
217 provide for up to 64KB alignment.
219 If you don't know what to do, choose 8KB.
221 config SPARC64_PAGE_SIZE_64KB
227 bool "Enable seccomp to safely compute untrusted bytecode"
228 depends on SPARC64 && PROC_FS
231 This kernel feature is useful for number crunching applications
232 that may need to compute untrusted bytecode during their
233 execution. By using pipes or other transports made available to
234 the process as file descriptors supporting the read/write
235 syscalls, it's possible to isolate those applications in
236 their own address space using seccomp. Once seccomp is
237 enabled via /proc/<pid>/seccomp, it cannot be disabled
238 and the task is only allowed to execute a few safe syscalls
239 defined by each seccomp mode.
241 If unsure, say Y. Only embedded should say N here.
244 bool "Support for hot-pluggable CPUs"
245 depends on SPARC64 && SMP
248 Say Y here to experiment with turning CPUs off and on. CPUs
249 can be controlled through /sys/devices/system/cpu/cpu#.
250 Say N if you want to disable CPU hotplug.
252 config GENERIC_HARDIRQS
256 source "kernel/time/Kconfig"
259 source "drivers/cpufreq/Kconfig"
262 tristate "UltraSPARC-III CPU Frequency driver"
264 select CPU_FREQ_TABLE
266 This adds the CPUFreq driver for UltraSPARC-III processors.
268 For details, take a look at <file:Documentation/cpu-freq>.
273 tristate "UltraSPARC-IIe CPU Frequency driver"
275 select CPU_FREQ_TABLE
277 This adds the CPUFreq driver for UltraSPARC-IIe processors.
279 For details, take a look at <file:Documentation/cpu-freq>.
286 tristate "UltraSPARC-III Memory Controller driver"
290 This adds a driver for the UltraSPARC-III memory controller.
291 Loading this driver allows exact mnemonic strings to be
292 printed in the event of a memory error, so that the faulty DIMM
293 on the motherboard can be matched to the error.
295 If in doubt, say Y, as this information can be very useful.
297 # Global things across all Sun machines.
298 config GENERIC_LOCKBREAK
301 depends on SPARC64 && SMP && PREEMPT
304 prompt "SPARC64 Huge TLB Page Size"
305 depends on SPARC64 && HUGETLB_PAGE
306 default HUGETLB_PAGE_SIZE_4MB
308 config HUGETLB_PAGE_SIZE_4MB
311 config HUGETLB_PAGE_SIZE_512K
314 config HUGETLB_PAGE_SIZE_64K
315 depends on !SPARC64_PAGE_SIZE_64KB
322 depends on SPARC64 && SMP
327 depends on NEED_MULTIPLE_NODES
329 # Some NUMA nodes have memory ranges that span
330 # other nodes. Even though a pfn is valid and
331 # between a node's start and end pfns, it may not
332 # reside on that node. See memmap_init_zone()
334 config NODES_SPAN_OTHER_NODES
336 depends on NEED_MULTIPLE_NODES
338 config ARCH_POPULATES_NODE_MAP
339 def_bool y if SPARC64
341 config ARCH_SELECT_MEMORY_MODEL
342 def_bool y if SPARC64
344 config ARCH_SPARSEMEM_ENABLE
345 def_bool y if SPARC64
346 select SPARSEMEM_VMEMMAP_ENABLE
348 config ARCH_SPARSEMEM_DEFAULT
349 def_bool y if SPARC64
354 bool "SMT (Hyperthreading) scheduler support"
355 depends on SPARC64 && SMP
358 SMT scheduler support improves the CPU scheduler's decision making
359 when dealing with SPARC cpus at a cost of slightly increased overhead
360 in some places. If unsure say N here.
363 bool "Multi-core scheduler support"
364 depends on SPARC64 && SMP
367 Multi-core scheduler support improves the CPU scheduler's decision
368 making when dealing with multi-core CPU chips at a cost of slightly
369 increased overhead in some places. If unsure say N here.
372 source "kernel/Kconfig.preempt"
376 bool "Default bootloader kernel arguments"
380 string "Initial kernel command string"
381 depends on CMDLINE_BOOL
382 default "console=ttyS0,9600 root=/dev/sda1"
384 Say Y here if you want to be able to pass default arguments to
385 the kernel. This will be overridden by the bootloader, if you
386 use one (such as SILO). This is most useful if you want to boot
387 a kernel from TFTP, and want default options to be available
388 with having them passed on the command line.
390 NOTE: This option WILL override the PROM bootargs setting!
396 Enable power management and CPU standby features on supported
400 tristate "Sun4m LED driver"
403 This driver toggles the front-panel LED on sun4m systems
404 in a user-specifiable manner. Its state can be probed
405 by reading /proc/led and its blinking mode can be changed
406 via writes to /proc/led
408 config SERIAL_CONSOLE
413 If you say Y here, it will be possible to use a serial port as the
414 system console (the system console is the device which receives all
415 kernel messages and warnings and which allows logins in single user
416 mode). This could be useful if some terminal or printer is connected
419 Even if you say Y here, the currently visible virtual console
420 (/dev/tty0) will still be used as the system console by default, but
421 you can alter that using a kernel command line option such as
422 "console=ttyS1". (Try "man bootparam" or see the documentation of
423 your boot loader (silo) about how to pass options to the kernel at
426 If you don't have a graphics card installed and you say Y here, the
427 kernel will automatically use the first serial line, /dev/ttyS0, as
434 menu "Bus options (PCI etc.)"
444 bool "Sun Logical Domains support"
447 Say Y here is you want to support virtual devices via
451 bool "Support for PCI and PS/2 keyboard/mouse"
453 Find out whether your system includes a PCI bus. PCI is the name of
454 a bus system, i.e. the way the CPU talks to the other stuff inside
455 your box. If you say Y here, the kernel will include drivers and
456 infrastructure code to support PCI bus devices.
458 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
459 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
460 All of these platforms are extremely obscure, so say N if unsure.
463 def_bool PCI if SPARC64
468 source "drivers/pci/Kconfig"
470 source "drivers/pcmcia/Kconfig"
472 config SUN_OPENPROMFS
473 tristate "Openprom tree appears in /proc/openprom"
475 If you say Y, the OpenPROM device tree will be available as a
476 virtual file system, which you can mount to /proc/openprom by "mount
477 -t openpromfs none /proc/openprom".
479 To compile the /proc/openprom support as a module, choose M here: the
480 module will be called openpromfs.
482 Only choose N if you know in advance that you will not need to modify
483 OpenPROM settings on the running system.
489 depends on SPARC32 && PCI
494 depends on SPARC64 && PCI
498 menu "Executable file formats"
500 source "fs/Kconfig.binfmt"
506 select COMPAT_BINFMT_ELF
508 config SYSVIPC_COMPAT
510 depends on COMPAT && SYSVIPC
517 source "drivers/Kconfig"
519 source "drivers/sbus/char/Kconfig"
523 source "arch/sparc/Kconfig.debug"
525 source "security/Kconfig"
527 source "crypto/Kconfig"