1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
5 mainmenu "Linux/SPARC Kernel Configuration"
12 select HAVE_ARCH_KGDB if !SMP || SPARC64
13 select HAVE_ARCH_TRACEHOOK
14 select ARCH_WANT_OPTIONAL_GPIOLIB
18 # Identify this as a Sparc32 build
21 default y if ARCH = "sparc"
23 SPARC is a family of RISC microprocessors designed and marketed by
24 Sun Microsystems, incorporated. They are very widely found in Sun
25 workstations and clones. This port covers the original 32-bit SPARC;
26 it is old and stable and usually considered one of the "big three"
27 along with the Intel and Alpha ports. The UltraLinux project
28 maintains both the SPARC32 and SPARC64 ports; its web page is
29 available at <http://www.ultralinux.org/>.
33 default y if ARCH = "sparc64"
34 select HAVE_FUNCTION_TRACER
35 select HAVE_KRETPROBES
38 select USE_GENERIC_SMP_HELPERS if SMP
42 select RTC_DRV_STARFIRE
51 config GENERIC_CMOS_UPDATE
55 config GENERIC_CLOCKEVENTS
67 config STACKTRACE_SUPPORT
71 config LOCKDEP_SUPPORT
79 config HAVE_SETUP_PER_CPU_AREA
82 config GENERIC_HARDIRQS_NO__DO_IRQ
98 config GENERIC_ISA_DMA
105 Generic GPIO API support
107 config ARCH_NO_VIRT_TO_BUS
113 source "init/Kconfig"
115 source "kernel/Kconfig.freezer"
117 menu "Processor type and features"
120 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
122 This enables support for systems with more than one CPU. If you have
123 a system with only one CPU, say N. If you have a system with more
126 If you say N here, the kernel will run on single and multiprocessor
127 machines, but will use only one CPU of a multiprocessor machine. If
128 you say Y here, the kernel will run on many, but not all,
129 singleprocessor machines. On a singleprocessor machine, the kernel
130 will run faster if you say N here.
132 People using multiprocessor machines who say Y here should also say
133 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
134 Management" code will be disabled if you say Y here.
136 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
137 available at <http://www.tldp.org/docs.html#howto>.
139 If you don't know what to do here, say N.
142 int "Maximum number of CPUs"
144 range 2 32 if SPARC32
145 range 2 1024 if SPARC64
146 default 32 if SPARC32
147 default 64 if SPARC64
149 source kernel/Kconfig.hz
151 config RWSEM_GENERIC_SPINLOCK
155 config RWSEM_XCHGADD_ALGORITHM
159 config GENERIC_FIND_NEXT_BIT
163 config GENERIC_HWEIGHT
165 default y if !ULTRA_HAS_POPULATION_COUNT
167 config GENERIC_CALIBRATE_DELAY
171 config ARCH_MAY_HAVE_PC_FDC
175 config ARCH_HAS_ILOG2_U32
179 config ARCH_HAS_ILOG2_U64
183 config EMULATED_CMPXCHG
187 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
188 is emulated, and therefore it is not completely atomic.
191 prompt "Kernel page size" if SPARC64
192 default SPARC64_PAGE_SIZE_8KB
194 config SPARC64_PAGE_SIZE_8KB
197 This lets you select the page size of the kernel.
199 8KB and 64KB work quite well, since SPARC ELF sections
200 provide for up to 64KB alignment.
202 If you don't know what to do, choose 8KB.
204 config SPARC64_PAGE_SIZE_64KB
210 bool "Enable seccomp to safely compute untrusted bytecode"
211 depends on SPARC64 && PROC_FS
214 This kernel feature is useful for number crunching applications
215 that may need to compute untrusted bytecode during their
216 execution. By using pipes or other transports made available to
217 the process as file descriptors supporting the read/write
218 syscalls, it's possible to isolate those applications in
219 their own address space using seccomp. Once seccomp is
220 enabled via /proc/<pid>/seccomp, it cannot be disabled
221 and the task is only allowed to execute a few safe syscalls
222 defined by each seccomp mode.
224 If unsure, say Y. Only embedded should say N here.
227 bool "Support for hot-pluggable CPUs"
228 depends on SPARC64 && SMP
231 Say Y here to experiment with turning CPUs off and on. CPUs
232 can be controlled through /sys/devices/system/cpu/cpu#.
233 Say N if you want to disable CPU hotplug.
235 config GENERIC_HARDIRQS
239 source "kernel/time/Kconfig"
242 source "drivers/cpufreq/Kconfig"
245 tristate "UltraSPARC-III CPU Frequency driver"
247 select CPU_FREQ_TABLE
249 This adds the CPUFreq driver for UltraSPARC-III processors.
251 For details, take a look at <file:Documentation/cpu-freq>.
256 tristate "UltraSPARC-IIe CPU Frequency driver"
258 select CPU_FREQ_TABLE
260 This adds the CPUFreq driver for UltraSPARC-IIe processors.
262 For details, take a look at <file:Documentation/cpu-freq>.
269 tristate "UltraSPARC-III Memory Controller driver"
273 This adds a driver for the UltraSPARC-III memory controller.
274 Loading this driver allows exact mnemonic strings to be
275 printed in the event of a memory error, so that the faulty DIMM
276 on the motherboard can be matched to the error.
278 If in doubt, say Y, as this information can be very useful.
280 # Global things across all Sun machines.
281 config GENERIC_LOCKBREAK
284 depends on SPARC64 && SMP && PREEMPT
287 prompt "SPARC64 Huge TLB Page Size"
288 depends on SPARC64 && HUGETLB_PAGE
289 default HUGETLB_PAGE_SIZE_4MB
291 config HUGETLB_PAGE_SIZE_4MB
294 config HUGETLB_PAGE_SIZE_512K
297 config HUGETLB_PAGE_SIZE_64K
298 depends on !SPARC64_PAGE_SIZE_64KB
305 depends on SPARC64 && SMP
310 depends on NEED_MULTIPLE_NODES
312 # Some NUMA nodes have memory ranges that span
313 # other nodes. Even though a pfn is valid and
314 # between a node's start and end pfns, it may not
315 # reside on that node. See memmap_init_zone()
317 config NODES_SPAN_OTHER_NODES
319 depends on NEED_MULTIPLE_NODES
321 config ARCH_POPULATES_NODE_MAP
322 def_bool y if SPARC64
324 config ARCH_SELECT_MEMORY_MODEL
325 def_bool y if SPARC64
327 config ARCH_SPARSEMEM_ENABLE
328 def_bool y if SPARC64
329 select SPARSEMEM_VMEMMAP_ENABLE
331 config ARCH_SPARSEMEM_DEFAULT
332 def_bool y if SPARC64
337 bool "SMT (Hyperthreading) scheduler support"
338 depends on SPARC64 && SMP
341 SMT scheduler support improves the CPU scheduler's decision making
342 when dealing with SPARC cpus at a cost of slightly increased overhead
343 in some places. If unsure say N here.
346 bool "Multi-core scheduler support"
347 depends on SPARC64 && SMP
350 Multi-core scheduler support improves the CPU scheduler's decision
351 making when dealing with multi-core CPU chips at a cost of slightly
352 increased overhead in some places. If unsure say N here.
355 source "kernel/Kconfig.preempt"
359 bool "Default bootloader kernel arguments"
363 string "Initial kernel command string"
364 depends on CMDLINE_BOOL
365 default "console=ttyS0,9600 root=/dev/sda1"
367 Say Y here if you want to be able to pass default arguments to
368 the kernel. This will be overridden by the bootloader, if you
369 use one (such as SILO). This is most useful if you want to boot
370 a kernel from TFTP, and want default options to be available
371 with having them passed on the command line.
373 NOTE: This option WILL override the PROM bootargs setting!
379 Enable power management and CPU standby features on supported
383 tristate "Sun4m LED driver"
386 This driver toggles the front-panel LED on sun4m systems
387 in a user-specifiable manner. Its state can be probed
388 by reading /proc/led and its blinking mode can be changed
389 via writes to /proc/led
391 config SERIAL_CONSOLE
396 If you say Y here, it will be possible to use a serial port as the
397 system console (the system console is the device which receives all
398 kernel messages and warnings and which allows logins in single user
399 mode). This could be useful if some terminal or printer is connected
402 Even if you say Y here, the currently visible virtual console
403 (/dev/tty0) will still be used as the system console by default, but
404 you can alter that using a kernel command line option such as
405 "console=ttyS1". (Try "man bootparam" or see the documentation of
406 your boot loader (silo) about how to pass options to the kernel at
409 If you don't have a graphics card installed and you say Y here, the
410 kernel will automatically use the first serial line, /dev/ttyS0, as
417 menu "Bus options (PCI etc.)"
421 ISA is found on Espresso only and is not supported currently.
426 ISAPNP is not supported
431 EISA is not supported.
436 MCA is not supported.
455 bool "Sun Logical Domains support"
458 Say Y here is you want to support virtual devices via
462 bool "Support for PCI and PS/2 keyboard/mouse"
463 select ARCH_SUPPORTS_MSI if SPARC64
465 Find out whether your system includes a PCI bus. PCI is the name of
466 a bus system, i.e. the way the CPU talks to the other stuff inside
467 your box. If you say Y here, the kernel will include drivers and
468 infrastructure code to support PCI bus devices.
470 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
471 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
472 All of these platforms are extremely obscure, so say N if unsure.
475 def_bool PCI if SPARC64
480 source "drivers/pci/Kconfig"
482 source "drivers/pcmcia/Kconfig"
484 config SUN_OPENPROMFS
485 tristate "Openprom tree appears in /proc/openprom"
487 If you say Y, the OpenPROM device tree will be available as a
488 virtual file system, which you can mount to /proc/openprom by "mount
489 -t openpromfs none /proc/openprom".
491 To compile the /proc/openprom support as a module, choose M here: the
492 module will be called openpromfs.
494 Only choose N if you know in advance that you will not need to modify
495 OpenPROM settings on the running system.
500 menu "Executable file formats"
502 source "fs/Kconfig.binfmt"
508 select COMPAT_BINFMT_ELF
510 config SYSVIPC_COMPAT
512 depends on COMPAT && SYSVIPC
519 source "drivers/Kconfig"
521 source "drivers/sbus/char/Kconfig"
525 source "arch/sparc/Kconfig.debug"
527 source "security/Kconfig"
529 source "crypto/Kconfig"