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
75 config HAVE_LATENCYTOP_SUPPORT
83 config HAVE_SETUP_PER_CPU_AREA
86 config GENERIC_HARDIRQS_NO__DO_IRQ
102 config GENERIC_ISA_DMA
109 Generic GPIO API support
111 config ARCH_NO_VIRT_TO_BUS
117 source "init/Kconfig"
119 source "kernel/Kconfig.freezer"
121 menu "Processor type and features"
124 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
126 This enables support for systems with more than one CPU. If you have
127 a system with only one CPU, say N. If you have a system with more
130 If you say N here, the kernel will run on single and multiprocessor
131 machines, but will use only one CPU of a multiprocessor machine. If
132 you say Y here, the kernel will run on many, but not all,
133 singleprocessor machines. On a singleprocessor machine, the kernel
134 will run faster if you say N here.
136 People using multiprocessor machines who say Y here should also say
137 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
138 Management" code will be disabled if you say Y here.
140 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
141 available at <http://www.tldp.org/docs.html#howto>.
143 If you don't know what to do here, say N.
146 int "Maximum number of CPUs"
148 range 2 32 if SPARC32
149 range 2 1024 if SPARC64
150 default 32 if SPARC32
151 default 64 if SPARC64
153 source kernel/Kconfig.hz
155 config RWSEM_GENERIC_SPINLOCK
159 config RWSEM_XCHGADD_ALGORITHM
163 config GENERIC_FIND_NEXT_BIT
167 config GENERIC_HWEIGHT
169 default y if !ULTRA_HAS_POPULATION_COUNT
171 config GENERIC_CALIBRATE_DELAY
175 config ARCH_MAY_HAVE_PC_FDC
179 config ARCH_HAS_ILOG2_U32
183 config ARCH_HAS_ILOG2_U64
187 config EMULATED_CMPXCHG
191 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
192 is emulated, and therefore it is not completely atomic.
195 prompt "Kernel page size" if SPARC64
196 default SPARC64_PAGE_SIZE_8KB
198 config SPARC64_PAGE_SIZE_8KB
201 This lets you select the page size of the kernel.
203 8KB and 64KB work quite well, since SPARC ELF sections
204 provide for up to 64KB alignment.
206 If you don't know what to do, choose 8KB.
208 config SPARC64_PAGE_SIZE_64KB
214 bool "Enable seccomp to safely compute untrusted bytecode"
215 depends on SPARC64 && PROC_FS
218 This kernel feature is useful for number crunching applications
219 that may need to compute untrusted bytecode during their
220 execution. By using pipes or other transports made available to
221 the process as file descriptors supporting the read/write
222 syscalls, it's possible to isolate those applications in
223 their own address space using seccomp. Once seccomp is
224 enabled via /proc/<pid>/seccomp, it cannot be disabled
225 and the task is only allowed to execute a few safe syscalls
226 defined by each seccomp mode.
228 If unsure, say Y. Only embedded should say N here.
231 bool "Support for hot-pluggable CPUs"
232 depends on SPARC64 && SMP
235 Say Y here to experiment with turning CPUs off and on. CPUs
236 can be controlled through /sys/devices/system/cpu/cpu#.
237 Say N if you want to disable CPU hotplug.
239 config GENERIC_HARDIRQS
243 source "kernel/time/Kconfig"
246 source "drivers/cpufreq/Kconfig"
249 tristate "UltraSPARC-III CPU Frequency driver"
251 select CPU_FREQ_TABLE
253 This adds the CPUFreq driver for UltraSPARC-III processors.
255 For details, take a look at <file:Documentation/cpu-freq>.
260 tristate "UltraSPARC-IIe CPU Frequency driver"
262 select CPU_FREQ_TABLE
264 This adds the CPUFreq driver for UltraSPARC-IIe processors.
266 For details, take a look at <file:Documentation/cpu-freq>.
273 tristate "UltraSPARC-III Memory Controller driver"
277 This adds a driver for the UltraSPARC-III memory controller.
278 Loading this driver allows exact mnemonic strings to be
279 printed in the event of a memory error, so that the faulty DIMM
280 on the motherboard can be matched to the error.
282 If in doubt, say Y, as this information can be very useful.
284 # Global things across all Sun machines.
285 config GENERIC_LOCKBREAK
288 depends on SPARC64 && SMP && PREEMPT
291 prompt "SPARC64 Huge TLB Page Size"
292 depends on SPARC64 && HUGETLB_PAGE
293 default HUGETLB_PAGE_SIZE_4MB
295 config HUGETLB_PAGE_SIZE_4MB
298 config HUGETLB_PAGE_SIZE_512K
301 config HUGETLB_PAGE_SIZE_64K
302 depends on !SPARC64_PAGE_SIZE_64KB
309 depends on SPARC64 && SMP
314 depends on NEED_MULTIPLE_NODES
316 # Some NUMA nodes have memory ranges that span
317 # other nodes. Even though a pfn is valid and
318 # between a node's start and end pfns, it may not
319 # reside on that node. See memmap_init_zone()
321 config NODES_SPAN_OTHER_NODES
323 depends on NEED_MULTIPLE_NODES
325 config ARCH_POPULATES_NODE_MAP
326 def_bool y if SPARC64
328 config ARCH_SELECT_MEMORY_MODEL
329 def_bool y if SPARC64
331 config ARCH_SPARSEMEM_ENABLE
332 def_bool y if SPARC64
333 select SPARSEMEM_VMEMMAP_ENABLE
335 config ARCH_SPARSEMEM_DEFAULT
336 def_bool y if SPARC64
341 bool "SMT (Hyperthreading) scheduler support"
342 depends on SPARC64 && SMP
345 SMT scheduler support improves the CPU scheduler's decision making
346 when dealing with SPARC cpus at a cost of slightly increased overhead
347 in some places. If unsure say N here.
350 bool "Multi-core scheduler support"
351 depends on SPARC64 && SMP
354 Multi-core scheduler support improves the CPU scheduler's decision
355 making when dealing with multi-core CPU chips at a cost of slightly
356 increased overhead in some places. If unsure say N here.
359 source "kernel/Kconfig.preempt"
363 bool "Default bootloader kernel arguments"
367 string "Initial kernel command string"
368 depends on CMDLINE_BOOL
369 default "console=ttyS0,9600 root=/dev/sda1"
371 Say Y here if you want to be able to pass default arguments to
372 the kernel. This will be overridden by the bootloader, if you
373 use one (such as SILO). This is most useful if you want to boot
374 a kernel from TFTP, and want default options to be available
375 with having them passed on the command line.
377 NOTE: This option WILL override the PROM bootargs setting!
383 Enable power management and CPU standby features on supported
387 tristate "Sun4m LED driver"
390 This driver toggles the front-panel LED on sun4m systems
391 in a user-specifiable manner. Its state can be probed
392 by reading /proc/led and its blinking mode can be changed
393 via writes to /proc/led
395 config SERIAL_CONSOLE
400 If you say Y here, it will be possible to use a serial port as the
401 system console (the system console is the device which receives all
402 kernel messages and warnings and which allows logins in single user
403 mode). This could be useful if some terminal or printer is connected
406 Even if you say Y here, the currently visible virtual console
407 (/dev/tty0) will still be used as the system console by default, but
408 you can alter that using a kernel command line option such as
409 "console=ttyS1". (Try "man bootparam" or see the documentation of
410 your boot loader (silo) about how to pass options to the kernel at
413 If you don't have a graphics card installed and you say Y here, the
414 kernel will automatically use the first serial line, /dev/ttyS0, as
421 menu "Bus options (PCI etc.)"
425 ISA is found on Espresso only and is not supported currently.
430 ISAPNP is not supported
435 EISA is not supported.
440 MCA is not supported.
459 bool "Sun Logical Domains support"
462 Say Y here is you want to support virtual devices via
466 bool "Support for PCI and PS/2 keyboard/mouse"
467 select ARCH_SUPPORTS_MSI if SPARC64
469 Find out whether your system includes a PCI bus. PCI is the name of
470 a bus system, i.e. the way the CPU talks to the other stuff inside
471 your box. If you say Y here, the kernel will include drivers and
472 infrastructure code to support PCI bus devices.
474 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
475 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
476 All of these platforms are extremely obscure, so say N if unsure.
479 def_bool PCI if SPARC64
484 source "drivers/pci/Kconfig"
486 source "drivers/pcmcia/Kconfig"
488 config SUN_OPENPROMFS
489 tristate "Openprom tree appears in /proc/openprom"
491 If you say Y, the OpenPROM device tree will be available as a
492 virtual file system, which you can mount to /proc/openprom by "mount
493 -t openpromfs none /proc/openprom".
495 To compile the /proc/openprom support as a module, choose M here: the
496 module will be called openpromfs.
498 Only choose N if you know in advance that you will not need to modify
499 OpenPROM settings on the running system.
504 menu "Executable file formats"
506 source "fs/Kconfig.binfmt"
512 select COMPAT_BINFMT_ELF
514 config SYSVIPC_COMPAT
516 depends on COMPAT && SYSVIPC
523 source "drivers/Kconfig"
525 source "drivers/sbus/char/Kconfig"
529 source "arch/sparc/Kconfig.debug"
531 source "security/Kconfig"
533 source "crypto/Kconfig"