2 bool "64-bit kernel" if ARCH = "sparc"
3 default ARCH = "sparc64"
5 SPARC is a family of RISC microprocessors designed and marketed by
6 Sun Microsystems, incorporated. They are very widely found in Sun
7 workstations and clones.
9 Say yes to build a 64-bit kernel - formerly known as sparc64
10 Say no to build a 32-bit kernel - formerly known as sparc
19 select HAVE_ARCH_KGDB if !SMP || SPARC64
20 select HAVE_ARCH_TRACEHOOK
21 select ARCH_WANT_OPTIONAL_GPIOLIB
26 select HAVE_DMA_API_DEBUG
27 select HAVE_ARCH_JUMP_LABEL
34 select ARCH_SUPPORTS_MSI
35 select HAVE_FUNCTION_TRACER
36 select HAVE_FUNCTION_GRAPH_TRACER
37 select HAVE_FUNCTION_GRAPH_FP_TEST
38 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
39 select HAVE_KRETPROBES
42 select HAVE_SYSCALL_WRAPPERS
43 select HAVE_DYNAMIC_FTRACE
44 select HAVE_FTRACE_MCOUNT_RECORD
45 select HAVE_SYSCALL_TRACEPOINTS
46 select USE_GENERIC_SMP_HELPERS if SMP
50 select RTC_DRV_STARFIRE
51 select HAVE_PERF_EVENTS
52 select PERF_USE_VMALLOC
53 select HAVE_GENERIC_HARDIRQS
57 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
58 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
60 # CONFIG_BITS can be used at source level to get 32/64 bits
66 config ARCH_USES_GETTIMEOFFSET
70 config GENERIC_CMOS_UPDATE
74 config GENERIC_CLOCKEVENTS
86 config STACKTRACE_SUPPORT
90 config LOCKDEP_SUPPORT
94 config HAVE_LATENCYTOP_SUPPORT
102 config HAVE_SETUP_PER_CPU_AREA
103 def_bool y if SPARC64
105 config NEED_PER_CPU_EMBED_FIRST_CHUNK
106 def_bool y if SPARC64
108 config NEED_PER_CPU_PAGE_FIRST_CHUNK
109 def_bool y if SPARC64
123 config NEED_DMA_MAP_STATE
126 config NEED_SG_DMA_LENGTH
129 config GENERIC_ISA_DMA
136 Generic GPIO API support
138 config ARCH_NO_VIRT_TO_BUS
141 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
142 def_bool y if SPARC64
144 source "init/Kconfig"
146 source "kernel/Kconfig.freezer"
148 menu "Processor type and features"
151 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
153 This enables support for systems with more than one CPU. If you have
154 a system with only one CPU, say N. If you have a system with more
157 If you say N here, the kernel will run on single and multiprocessor
158 machines, but will use only one CPU of a multiprocessor machine. If
159 you say Y here, the kernel will run on many, but not all,
160 singleprocessor machines. On a singleprocessor machine, the kernel
161 will run faster if you say N here.
163 People using multiprocessor machines who say Y here should also say
164 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
165 Management" code will be disabled if you say Y here.
167 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
168 available at <http://www.tldp.org/docs.html#howto>.
170 If you don't know what to do here, say N.
173 int "Maximum number of CPUs"
175 range 2 32 if SPARC32
176 range 2 1024 if SPARC64
177 default 32 if SPARC32
178 default 64 if SPARC64
180 source kernel/Kconfig.hz
182 config RWSEM_GENERIC_SPINLOCK
186 config RWSEM_XCHGADD_ALGORITHM
190 config GENERIC_FIND_NEXT_BIT
194 config GENERIC_HWEIGHT
196 default y if !ULTRA_HAS_POPULATION_COUNT
198 config GENERIC_CALIBRATE_DELAY
202 config ARCH_MAY_HAVE_PC_FDC
206 config EMULATED_CMPXCHG
210 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
211 is emulated, and therefore it is not completely atomic.
217 depends on SPARC32 && SMP
222 depends on SPARC64 && SMP
225 bool "Support for early boot text console"
229 Say Y here to enable a faster early framebuffer boot console.
232 prompt "Kernel page size" if SPARC64
233 default SPARC64_PAGE_SIZE_8KB
235 config SPARC64_PAGE_SIZE_8KB
238 This lets you select the page size of the kernel.
240 8KB and 64KB work quite well, since SPARC ELF sections
241 provide for up to 64KB alignment.
243 If you don't know what to do, choose 8KB.
245 config SPARC64_PAGE_SIZE_64KB
251 bool "Enable seccomp to safely compute untrusted bytecode"
252 depends on SPARC64 && PROC_FS
255 This kernel feature is useful for number crunching applications
256 that may need to compute untrusted bytecode during their
257 execution. By using pipes or other transports made available to
258 the process as file descriptors supporting the read/write
259 syscalls, it's possible to isolate those applications in
260 their own address space using seccomp. Once seccomp is
261 enabled via /proc/<pid>/seccomp, it cannot be disabled
262 and the task is only allowed to execute a few safe syscalls
263 defined by each seccomp mode.
265 If unsure, say Y. Only embedded should say N here.
268 bool "Support for hot-pluggable CPUs"
269 depends on SPARC64 && SMP
272 Say Y here to experiment with turning CPUs off and on. CPUs
273 can be controlled through /sys/devices/system/cpu/cpu#.
274 Say N if you want to disable CPU hotplug.
276 source "kernel/time/Kconfig"
279 source "drivers/cpufreq/Kconfig"
282 tristate "UltraSPARC-III CPU Frequency driver"
284 select CPU_FREQ_TABLE
286 This adds the CPUFreq driver for UltraSPARC-III processors.
288 For details, take a look at <file:Documentation/cpu-freq>.
293 tristate "UltraSPARC-IIe CPU Frequency driver"
295 select CPU_FREQ_TABLE
297 This adds the CPUFreq driver for UltraSPARC-IIe processors.
299 For details, take a look at <file:Documentation/cpu-freq>.
306 tristate "UltraSPARC-III Memory Controller driver"
310 This adds a driver for the UltraSPARC-III memory controller.
311 Loading this driver allows exact mnemonic strings to be
312 printed in the event of a memory error, so that the faulty DIMM
313 on the motherboard can be matched to the error.
315 If in doubt, say Y, as this information can be very useful.
317 # Global things across all Sun machines.
318 config GENERIC_LOCKBREAK
321 depends on SPARC64 && SMP && PREEMPT
324 prompt "SPARC64 Huge TLB Page Size"
325 depends on SPARC64 && HUGETLB_PAGE
326 default HUGETLB_PAGE_SIZE_4MB
328 config HUGETLB_PAGE_SIZE_4MB
331 config HUGETLB_PAGE_SIZE_512K
334 config HUGETLB_PAGE_SIZE_64K
335 depends on !SPARC64_PAGE_SIZE_64KB
342 depends on SPARC64 && SMP
347 depends on NEED_MULTIPLE_NODES
349 # Some NUMA nodes have memory ranges that span
350 # other nodes. Even though a pfn is valid and
351 # between a node's start and end pfns, it may not
352 # reside on that node. See memmap_init_zone()
354 config NODES_SPAN_OTHER_NODES
356 depends on NEED_MULTIPLE_NODES
358 config ARCH_POPULATES_NODE_MAP
359 def_bool y if SPARC64
361 config ARCH_SELECT_MEMORY_MODEL
362 def_bool y if SPARC64
364 config ARCH_SPARSEMEM_ENABLE
365 def_bool y if SPARC64
366 select SPARSEMEM_VMEMMAP_ENABLE
368 config ARCH_SPARSEMEM_DEFAULT
369 def_bool y if SPARC64
374 bool "SMT (Hyperthreading) scheduler support"
375 depends on SPARC64 && SMP
378 SMT scheduler support improves the CPU scheduler's decision making
379 when dealing with SPARC cpus at a cost of slightly increased overhead
380 in some places. If unsure say N here.
383 bool "Multi-core scheduler support"
384 depends on SPARC64 && SMP
387 Multi-core scheduler support improves the CPU scheduler's decision
388 making when dealing with multi-core CPU chips at a cost of slightly
389 increased overhead in some places. If unsure say N here.
392 source "kernel/Kconfig.preempt"
396 bool "Default bootloader kernel arguments"
400 string "Initial kernel command string"
401 depends on CMDLINE_BOOL
402 default "console=ttyS0,9600 root=/dev/sda1"
404 Say Y here if you want to be able to pass default arguments to
405 the kernel. This will be overridden by the bootloader, if you
406 use one (such as SILO). This is most useful if you want to boot
407 a kernel from TFTP, and want default options to be available
408 with having them passed on the command line.
410 NOTE: This option WILL override the PROM bootargs setting!
416 Enable power management and CPU standby features on supported
420 tristate "Sun4m LED driver"
423 This driver toggles the front-panel LED on sun4m systems
424 in a user-specifiable manner. Its state can be probed
425 by reading /proc/led and its blinking mode can be changed
426 via writes to /proc/led
428 config SERIAL_CONSOLE
433 If you say Y here, it will be possible to use a serial port as the
434 system console (the system console is the device which receives all
435 kernel messages and warnings and which allows logins in single user
436 mode). This could be useful if some terminal or printer is connected
439 Even if you say Y here, the currently visible virtual console
440 (/dev/tty0) will still be used as the system console by default, but
441 you can alter that using a kernel command line option such as
442 "console=ttyS1". (Try "man bootparam" or see the documentation of
443 your boot loader (silo) about how to pass options to the kernel at
446 If you don't have a graphics card installed and you say Y here, the
447 kernel will automatically use the first serial line, /dev/ttyS0, as
453 bool "Sparc Leon processor family"
456 If you say Y here if you are running on a SPARC-LEON processor.
457 The LEON processor is a synthesizable VHDL model of the
458 SPARC-v8 standard. LEON is part of the GRLIB collection of
459 IP cores that are distributed under GPL. GRLIB can be downloaded
460 from www.gaisler.com. You can download a sparc-linux cross-compilation
461 toolchain at www.gaisler.com.
465 menu "Bus options (PCI etc.)"
475 bool "Sun Logical Domains support"
478 Say Y here is you want to support virtual devices via
482 bool "Support for PCI and PS/2 keyboard/mouse"
484 Find out whether your system includes a PCI bus. PCI is the name of
485 a bus system, i.e. the way the CPU talks to the other stuff inside
486 your box. If you say Y here, the kernel will include drivers and
487 infrastructure code to support PCI bus devices.
489 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
490 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
491 All of these platforms are extremely obscure, so say N if unsure.
494 def_bool PCI if SPARC64
499 source "drivers/pci/Kconfig"
501 source "drivers/pcmcia/Kconfig"
503 config SUN_OPENPROMFS
504 tristate "Openprom tree appears in /proc/openprom"
506 If you say Y, the OpenPROM device tree will be available as a
507 virtual file system, which you can mount to /proc/openprom by "mount
508 -t openpromfs none /proc/openprom".
510 To compile the /proc/openprom support as a module, choose M here: the
511 module will be called openpromfs.
513 Only choose N if you know in advance that you will not need to modify
514 OpenPROM settings on the running system.
520 depends on SPARC32 && PCI
525 depends on SPARC64 && PCI
529 menu "Executable file formats"
531 source "fs/Kconfig.binfmt"
537 select COMPAT_BINFMT_ELF
539 config SYSVIPC_COMPAT
541 depends on COMPAT && SYSVIPC
548 source "drivers/Kconfig"
550 source "drivers/sbus/char/Kconfig"
554 source "arch/sparc/Kconfig.debug"
556 source "security/Kconfig"
558 source "crypto/Kconfig"