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
46 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
47 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
58 config GENERIC_CMOS_UPDATE
62 config GENERIC_CLOCKEVENTS
74 config STACKTRACE_SUPPORT
78 config LOCKDEP_SUPPORT
82 config HAVE_LATENCYTOP_SUPPORT
90 config HAVE_SETUP_PER_CPU_AREA
93 config GENERIC_HARDIRQS_NO__DO_IRQ
109 config GENERIC_ISA_DMA
116 Generic GPIO API support
118 config ARCH_NO_VIRT_TO_BUS
124 source "init/Kconfig"
126 source "kernel/Kconfig.freezer"
128 menu "Processor type and features"
131 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
133 This enables support for systems with more than one CPU. If you have
134 a system with only one CPU, say N. If you have a system with more
137 If you say N here, the kernel will run on single and multiprocessor
138 machines, but will use only one CPU of a multiprocessor machine. If
139 you say Y here, the kernel will run on many, but not all,
140 singleprocessor machines. On a singleprocessor machine, the kernel
141 will run faster if you say N here.
143 People using multiprocessor machines who say Y here should also say
144 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
145 Management" code will be disabled if you say Y here.
147 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
148 available at <http://www.tldp.org/docs.html#howto>.
150 If you don't know what to do here, say N.
153 int "Maximum number of CPUs"
155 range 2 32 if SPARC32
156 range 2 1024 if SPARC64
157 default 32 if SPARC32
158 default 64 if SPARC64
160 source kernel/Kconfig.hz
162 config RWSEM_GENERIC_SPINLOCK
166 config RWSEM_XCHGADD_ALGORITHM
170 config GENERIC_FIND_NEXT_BIT
174 config GENERIC_HWEIGHT
176 default y if !ULTRA_HAS_POPULATION_COUNT
178 config GENERIC_CALIBRATE_DELAY
182 config ARCH_MAY_HAVE_PC_FDC
186 config ARCH_HAS_ILOG2_U32
190 config ARCH_HAS_ILOG2_U64
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.)"
443 ISA is found on Espresso only and is not supported currently.
448 ISAPNP is not supported
453 EISA is not supported.
458 MCA is not supported.
477 bool "Sun Logical Domains support"
480 Say Y here is you want to support virtual devices via
484 bool "Support for PCI and PS/2 keyboard/mouse"
485 select ARCH_SUPPORTS_MSI if SPARC64
487 Find out whether your system includes a PCI bus. PCI is the name of
488 a bus system, i.e. the way the CPU talks to the other stuff inside
489 your box. If you say Y here, the kernel will include drivers and
490 infrastructure code to support PCI bus devices.
492 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
493 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
494 All of these platforms are extremely obscure, so say N if unsure.
497 def_bool PCI if SPARC64
502 source "drivers/pci/Kconfig"
504 source "drivers/pcmcia/Kconfig"
506 config SUN_OPENPROMFS
507 tristate "Openprom tree appears in /proc/openprom"
509 If you say Y, the OpenPROM device tree will be available as a
510 virtual file system, which you can mount to /proc/openprom by "mount
511 -t openpromfs none /proc/openprom".
513 To compile the /proc/openprom support as a module, choose M here: the
514 module will be called openpromfs.
516 Only choose N if you know in advance that you will not need to modify
517 OpenPROM settings on the running system.
523 depends on SPARC32 && PCI
528 depends on SPARC64 && PCI
532 menu "Executable file formats"
534 source "fs/Kconfig.binfmt"
540 select COMPAT_BINFMT_ELF
542 config SYSVIPC_COMPAT
544 depends on COMPAT && SYSVIPC
551 source "drivers/Kconfig"
553 source "drivers/sbus/char/Kconfig"
557 source "arch/sparc/Kconfig.debug"
559 source "security/Kconfig"
561 source "crypto/Kconfig"