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_LEGACY_PER_CPU_AREA
98 config HAVE_SETUP_PER_CPU_AREA
101 config HAVE_DYNAMIC_PER_CPU_AREA
102 def_bool y if SPARC64
104 config GENERIC_HARDIRQS_NO__DO_IRQ
106 def_bool y if SPARC64
120 config GENERIC_ISA_DMA
127 Generic GPIO API support
129 config ARCH_NO_VIRT_TO_BUS
135 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
136 def_bool y if SPARC64
138 source "init/Kconfig"
140 source "kernel/Kconfig.freezer"
142 menu "Processor type and features"
145 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
147 This enables support for systems with more than one CPU. If you have
148 a system with only one CPU, say N. If you have a system with more
151 If you say N here, the kernel will run on single and multiprocessor
152 machines, but will use only one CPU of a multiprocessor machine. If
153 you say Y here, the kernel will run on many, but not all,
154 singleprocessor machines. On a singleprocessor machine, the kernel
155 will run faster if you say N here.
157 People using multiprocessor machines who say Y here should also say
158 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
159 Management" code will be disabled if you say Y here.
161 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
162 available at <http://www.tldp.org/docs.html#howto>.
164 If you don't know what to do here, say N.
167 int "Maximum number of CPUs"
169 range 2 32 if SPARC32
170 range 2 1024 if SPARC64
171 default 32 if SPARC32
172 default 64 if SPARC64
174 source kernel/Kconfig.hz
176 config RWSEM_GENERIC_SPINLOCK
180 config RWSEM_XCHGADD_ALGORITHM
184 config GENERIC_FIND_NEXT_BIT
188 config GENERIC_HWEIGHT
190 default y if !ULTRA_HAS_POPULATION_COUNT
192 config GENERIC_CALIBRATE_DELAY
196 config ARCH_MAY_HAVE_PC_FDC
200 config EMULATED_CMPXCHG
204 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
205 is emulated, and therefore it is not completely atomic.
211 depends on SPARC32 && SMP
216 depends on SPARC64 && SMP
219 prompt "Kernel page size" if SPARC64
220 default SPARC64_PAGE_SIZE_8KB
222 config SPARC64_PAGE_SIZE_8KB
225 This lets you select the page size of the kernel.
227 8KB and 64KB work quite well, since SPARC ELF sections
228 provide for up to 64KB alignment.
230 If you don't know what to do, choose 8KB.
232 config SPARC64_PAGE_SIZE_64KB
238 bool "Enable seccomp to safely compute untrusted bytecode"
239 depends on SPARC64 && PROC_FS
242 This kernel feature is useful for number crunching applications
243 that may need to compute untrusted bytecode during their
244 execution. By using pipes or other transports made available to
245 the process as file descriptors supporting the read/write
246 syscalls, it's possible to isolate those applications in
247 their own address space using seccomp. Once seccomp is
248 enabled via /proc/<pid>/seccomp, it cannot be disabled
249 and the task is only allowed to execute a few safe syscalls
250 defined by each seccomp mode.
252 If unsure, say Y. Only embedded should say N here.
255 bool "Support for hot-pluggable CPUs"
256 depends on SPARC64 && SMP
259 Say Y here to experiment with turning CPUs off and on. CPUs
260 can be controlled through /sys/devices/system/cpu/cpu#.
261 Say N if you want to disable CPU hotplug.
263 config GENERIC_HARDIRQS
267 source "kernel/time/Kconfig"
270 source "drivers/cpufreq/Kconfig"
273 tristate "UltraSPARC-III CPU Frequency driver"
275 select CPU_FREQ_TABLE
277 This adds the CPUFreq driver for UltraSPARC-III processors.
279 For details, take a look at <file:Documentation/cpu-freq>.
284 tristate "UltraSPARC-IIe CPU Frequency driver"
286 select CPU_FREQ_TABLE
288 This adds the CPUFreq driver for UltraSPARC-IIe processors.
290 For details, take a look at <file:Documentation/cpu-freq>.
297 tristate "UltraSPARC-III Memory Controller driver"
301 This adds a driver for the UltraSPARC-III memory controller.
302 Loading this driver allows exact mnemonic strings to be
303 printed in the event of a memory error, so that the faulty DIMM
304 on the motherboard can be matched to the error.
306 If in doubt, say Y, as this information can be very useful.
308 # Global things across all Sun machines.
309 config GENERIC_LOCKBREAK
312 depends on SPARC64 && SMP && PREEMPT
315 prompt "SPARC64 Huge TLB Page Size"
316 depends on SPARC64 && HUGETLB_PAGE
317 default HUGETLB_PAGE_SIZE_4MB
319 config HUGETLB_PAGE_SIZE_4MB
322 config HUGETLB_PAGE_SIZE_512K
325 config HUGETLB_PAGE_SIZE_64K
326 depends on !SPARC64_PAGE_SIZE_64KB
333 depends on SPARC64 && SMP
338 depends on NEED_MULTIPLE_NODES
340 # Some NUMA nodes have memory ranges that span
341 # other nodes. Even though a pfn is valid and
342 # between a node's start and end pfns, it may not
343 # reside on that node. See memmap_init_zone()
345 config NODES_SPAN_OTHER_NODES
347 depends on NEED_MULTIPLE_NODES
349 config ARCH_POPULATES_NODE_MAP
350 def_bool y if SPARC64
352 config ARCH_SELECT_MEMORY_MODEL
353 def_bool y if SPARC64
355 config ARCH_SPARSEMEM_ENABLE
356 def_bool y if SPARC64
357 select SPARSEMEM_VMEMMAP_ENABLE
359 config ARCH_SPARSEMEM_DEFAULT
360 def_bool y if SPARC64
365 bool "SMT (Hyperthreading) scheduler support"
366 depends on SPARC64 && SMP
369 SMT scheduler support improves the CPU scheduler's decision making
370 when dealing with SPARC cpus at a cost of slightly increased overhead
371 in some places. If unsure say N here.
374 bool "Multi-core scheduler support"
375 depends on SPARC64 && SMP
378 Multi-core scheduler support improves the CPU scheduler's decision
379 making when dealing with multi-core CPU chips at a cost of slightly
380 increased overhead in some places. If unsure say N here.
383 source "kernel/Kconfig.preempt"
387 bool "Default bootloader kernel arguments"
391 string "Initial kernel command string"
392 depends on CMDLINE_BOOL
393 default "console=ttyS0,9600 root=/dev/sda1"
395 Say Y here if you want to be able to pass default arguments to
396 the kernel. This will be overridden by the bootloader, if you
397 use one (such as SILO). This is most useful if you want to boot
398 a kernel from TFTP, and want default options to be available
399 with having them passed on the command line.
401 NOTE: This option WILL override the PROM bootargs setting!
407 Enable power management and CPU standby features on supported
411 tristate "Sun4m LED driver"
414 This driver toggles the front-panel LED on sun4m systems
415 in a user-specifiable manner. Its state can be probed
416 by reading /proc/led and its blinking mode can be changed
417 via writes to /proc/led
419 config SERIAL_CONSOLE
424 If you say Y here, it will be possible to use a serial port as the
425 system console (the system console is the device which receives all
426 kernel messages and warnings and which allows logins in single user
427 mode). This could be useful if some terminal or printer is connected
430 Even if you say Y here, the currently visible virtual console
431 (/dev/tty0) will still be used as the system console by default, but
432 you can alter that using a kernel command line option such as
433 "console=ttyS1". (Try "man bootparam" or see the documentation of
434 your boot loader (silo) about how to pass options to the kernel at
437 If you don't have a graphics card installed and you say Y here, the
438 kernel will automatically use the first serial line, /dev/ttyS0, as
445 menu "Bus options (PCI etc.)"
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"
464 Find out whether your system includes a PCI bus. PCI is the name of
465 a bus system, i.e. the way the CPU talks to the other stuff inside
466 your box. If you say Y here, the kernel will include drivers and
467 infrastructure code to support PCI bus devices.
469 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
470 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
471 All of these platforms are extremely obscure, so say N if unsure.
474 def_bool PCI if SPARC64
479 source "drivers/pci/Kconfig"
481 source "drivers/pcmcia/Kconfig"
483 config SUN_OPENPROMFS
484 tristate "Openprom tree appears in /proc/openprom"
486 If you say Y, the OpenPROM device tree will be available as a
487 virtual file system, which you can mount to /proc/openprom by "mount
488 -t openpromfs none /proc/openprom".
490 To compile the /proc/openprom support as a module, choose M here: the
491 module will be called openpromfs.
493 Only choose N if you know in advance that you will not need to modify
494 OpenPROM settings on the running system.
500 depends on SPARC32 && PCI
505 depends on SPARC64 && PCI
509 menu "Executable file formats"
511 source "fs/Kconfig.binfmt"
517 select COMPAT_BINFMT_ELF
519 config SYSVIPC_COMPAT
521 depends on COMPAT && SYSVIPC
528 source "drivers/Kconfig"
530 source "drivers/sbus/char/Kconfig"
534 source "arch/sparc/Kconfig.debug"
536 source "security/Kconfig"
538 source "crypto/Kconfig"