112f48716d
I'd like to thank John Stul and others for helping me along the way. A lot of cleanups fell out of this. For example, the get_compare() tick_op was totally unused, so was deleted. And the most often used tick_op members were grouped together for cache-friendlyness. The sparc64 TSC is given to the kernel as a one-shot timer. tick_ops->init_timer() simply turns off the privileged bit in the tick register (when possible), and disables the interrupt by setting bit 63 in the compare register. The ->disable_irq() op also sets this bit. tick_ops->add_compare() is changed to: 1) Add the given delta to "tick" not to "compare" 2) Return a boolean which, if true, means that the tick value read after writing the compare value was found to have incremented past the initial tick value. This mirrors logic used in the HPET driver's ->next_event() method. Each tick_ops implementation also now provides a name string. And we feed this into the clocksource and clockevents layers. Signed-off-by: David S. Miller <davem@davemloft.net>
446 lines
11 KiB
Text
446 lines
11 KiB
Text
# $Id: config.in,v 1.158 2002/01/24 22:14:44 davem Exp $
|
|
# For a description of the syntax of this configuration file,
|
|
# see the Configure script.
|
|
#
|
|
|
|
mainmenu "Linux/UltraSPARC Kernel Configuration"
|
|
|
|
config SPARC
|
|
bool
|
|
default y
|
|
|
|
config SPARC64
|
|
bool
|
|
default y
|
|
help
|
|
SPARC is a family of RISC microprocessors designed and marketed by
|
|
Sun Microsystems, incorporated. This port covers the newer 64-bit
|
|
UltraSPARC. The UltraLinux project maintains both the SPARC32 and
|
|
SPARC64 ports; its web page is available at
|
|
<http://www.ultralinux.org/>.
|
|
|
|
config GENERIC_TIME
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CLOCKEVENTS
|
|
bool
|
|
default y
|
|
|
|
config 64BIT
|
|
def_bool y
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config STACKTRACE_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config LOCKDEP_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
bool
|
|
default y
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
bool
|
|
default n
|
|
|
|
config AUDIT_ARCH
|
|
bool
|
|
default y
|
|
|
|
choice
|
|
prompt "Kernel page size"
|
|
default SPARC64_PAGE_SIZE_8KB
|
|
|
|
config SPARC64_PAGE_SIZE_8KB
|
|
bool "8KB"
|
|
help
|
|
This lets you select the page size of the kernel.
|
|
|
|
8KB and 64KB work quite well, since Sparc ELF sections
|
|
provide for up to 64KB alignment.
|
|
|
|
Therefore, 512KB and 4MB are for expert hackers only.
|
|
|
|
If you don't know what to do, choose 8KB.
|
|
|
|
config SPARC64_PAGE_SIZE_64KB
|
|
bool "64KB"
|
|
|
|
config SPARC64_PAGE_SIZE_512KB
|
|
bool "512KB"
|
|
|
|
config SPARC64_PAGE_SIZE_4MB
|
|
bool "4MB"
|
|
|
|
endchoice
|
|
|
|
config SECCOMP
|
|
bool "Enable seccomp to safely compute untrusted bytecode"
|
|
depends on PROC_FS
|
|
default y
|
|
help
|
|
This kernel feature is useful for number crunching applications
|
|
that may need to compute untrusted bytecode during their
|
|
execution. By using pipes or other transports made available to
|
|
the process as file descriptors supporting the read/write
|
|
syscalls, it's possible to isolate those applications in
|
|
their own address space using seccomp. Once seccomp is
|
|
enabled via /proc/<pid>/seccomp, it cannot be disabled
|
|
and the task is only allowed to execute a few safe syscalls
|
|
defined by each seccomp mode.
|
|
|
|
If unsure, say Y. Only embedded should say N here.
|
|
|
|
source kernel/Kconfig.hz
|
|
|
|
source "init/Kconfig"
|
|
|
|
config SYSVIPC_COMPAT
|
|
bool
|
|
depends on COMPAT && SYSVIPC
|
|
default y
|
|
|
|
config GENERIC_HARDIRQS
|
|
bool
|
|
default y
|
|
|
|
menu "General machine setup"
|
|
|
|
source "kernel/time/Kconfig"
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
---help---
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, say N. If you have a system with more than
|
|
one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on single and multiprocessor
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
you say Y here, the kernel will run on many, but not all,
|
|
singleprocessor machines. On a singleprocessor machine, the kernel
|
|
will run faster if you say N here.
|
|
|
|
People using multiprocessor machines who say Y here should also say
|
|
Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
|
|
Management" code will be disabled if you say Y here.
|
|
|
|
See also the <file:Documentation/smp.txt>,
|
|
<file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-64)"
|
|
range 2 64
|
|
depends on SMP
|
|
default "32"
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
config US3_FREQ
|
|
tristate "UltraSPARC-III CPU Frequency driver"
|
|
depends on CPU_FREQ
|
|
select CPU_FREQ_TABLE
|
|
help
|
|
This adds the CPUFreq driver for UltraSPARC-III processors.
|
|
|
|
For details, take a look at <file:Documentation/cpu-freq>.
|
|
|
|
If in doubt, say N.
|
|
|
|
config US2E_FREQ
|
|
tristate "UltraSPARC-IIe CPU Frequency driver"
|
|
depends on CPU_FREQ
|
|
select CPU_FREQ_TABLE
|
|
help
|
|
This adds the CPUFreq driver for UltraSPARC-IIe processors.
|
|
|
|
For details, take a look at <file:Documentation/cpu-freq>.
|
|
|
|
If in doubt, say N.
|
|
|
|
# Global things across all Sun machines.
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_FIND_NEXT_BIT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y if !ULTRA_HAS_POPULATION_COUNT
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
choice
|
|
prompt "SPARC64 Huge TLB Page Size"
|
|
depends on HUGETLB_PAGE
|
|
default HUGETLB_PAGE_SIZE_4MB
|
|
|
|
config HUGETLB_PAGE_SIZE_4MB
|
|
bool "4MB"
|
|
|
|
config HUGETLB_PAGE_SIZE_512K
|
|
depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB
|
|
bool "512K"
|
|
|
|
config HUGETLB_PAGE_SIZE_64K
|
|
depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64KB
|
|
bool "64K"
|
|
|
|
endchoice
|
|
|
|
endmenu
|
|
|
|
config ARCH_SELECT_MEMORY_MODEL
|
|
def_bool y
|
|
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
def_bool y
|
|
|
|
config ARCH_SPARSEMEM_DEFAULT
|
|
def_bool y
|
|
|
|
config LARGE_ALLOCS
|
|
def_bool y
|
|
|
|
source "mm/Kconfig"
|
|
|
|
config ISA
|
|
bool
|
|
help
|
|
Find out whether you have ISA slots on your motherboard. ISA is the
|
|
name of a bus system, i.e. the way the CPU talks to the other stuff
|
|
inside your box. Other bus systems are PCI, EISA, MicroChannel
|
|
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
|
|
newer boards don't support it. If you have ISA, say Y, otherwise N.
|
|
|
|
config ISAPNP
|
|
bool
|
|
help
|
|
Say Y here if you would like support for ISA Plug and Play devices.
|
|
Some information is in <file:Documentation/isapnp.txt>.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called isapnp.
|
|
|
|
If unsure, say Y.
|
|
|
|
config EISA
|
|
bool
|
|
---help---
|
|
The Extended Industry Standard Architecture (EISA) bus was
|
|
developed as an open alternative to the IBM MicroChannel bus.
|
|
|
|
The EISA bus provided some of the features of the IBM MicroChannel
|
|
bus while maintaining backward compatibility with cards made for
|
|
the older ISA bus. The EISA bus saw limited use between 1988 and
|
|
1995 when it was made obsolete by the PCI bus.
|
|
|
|
Say Y here if you are building a kernel for an EISA-based machine.
|
|
|
|
Otherwise, say N.
|
|
|
|
config MCA
|
|
bool
|
|
help
|
|
MicroChannel Architecture is found in some IBM PS/2 machines and
|
|
laptops. It is a bus system similar to PCI or ISA. See
|
|
<file:Documentation/mca.txt> (and especially the web page given
|
|
there) before attempting to build an MCA bus kernel.
|
|
|
|
config PCMCIA
|
|
tristate
|
|
---help---
|
|
Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
|
|
computer. These are credit-card size devices such as network cards,
|
|
modems or hard drives often used with laptops computers. There are
|
|
actually two varieties of these cards: the older 16 bit PCMCIA cards
|
|
and the newer 32 bit CardBus cards. If you want to use CardBus
|
|
cards, you need to say Y here and also to "CardBus support" below.
|
|
|
|
To use your PC-cards, you will need supporting software from David
|
|
Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
|
|
for location). Please also read the PCMCIA-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
To compile this driver as modules, choose M here: the
|
|
modules will be called pcmcia_core and ds.
|
|
|
|
config SBUS
|
|
bool
|
|
default y
|
|
|
|
config SBUSCHAR
|
|
bool
|
|
default y
|
|
|
|
config SUN_AUXIO
|
|
bool
|
|
default y
|
|
|
|
config SUN_IO
|
|
bool
|
|
default y
|
|
|
|
config PCI
|
|
bool "PCI support"
|
|
help
|
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
|
|
VESA. If you have PCI, say Y, otherwise N.
|
|
|
|
The PCI-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>, contains valuable
|
|
information about which PCI hardware does work under Linux and which
|
|
doesn't.
|
|
|
|
config PCI_DOMAINS
|
|
bool
|
|
default PCI
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
config SUN_OPENPROMFS
|
|
tristate "Openprom tree appears in /proc/openprom"
|
|
help
|
|
If you say Y, the OpenPROM device tree will be available as a
|
|
virtual file system, which you can mount to /proc/openprom by "mount
|
|
-t openpromfs none /proc/openprom".
|
|
|
|
To compile the /proc/openprom support as a module, choose M here: the
|
|
module will be called openpromfs. If unsure, choose M.
|
|
|
|
config SPARC32_COMPAT
|
|
bool "Kernel support for Linux/Sparc 32bit binary compatibility"
|
|
help
|
|
This allows you to run 32-bit binaries on your Ultra.
|
|
Everybody wants this; say Y.
|
|
|
|
config COMPAT
|
|
bool
|
|
depends on SPARC32_COMPAT
|
|
default y
|
|
|
|
config BINFMT_ELF32
|
|
bool "Kernel support for 32-bit ELF binaries"
|
|
depends on SPARC32_COMPAT
|
|
help
|
|
This allows you to run 32-bit Linux/ELF binaries on your Ultra.
|
|
Everybody wants this; say Y.
|
|
|
|
config BINFMT_AOUT32
|
|
bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
|
|
depends on SPARC32_COMPAT
|
|
help
|
|
This allows you to run 32-bit a.out format binaries on your Ultra.
|
|
If you want to run SunOS binaries (see SunOS binary emulation below)
|
|
or other a.out binaries, say Y. If unsure, say N.
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
config SUNOS_EMUL
|
|
bool "SunOS binary emulation"
|
|
depends on BINFMT_AOUT32
|
|
help
|
|
This allows you to run most SunOS binaries. If you want to do this,
|
|
say Y here and place appropriate files in /usr/gnemul/sunos. See
|
|
<http://www.ultralinux.org/faq.html> for more information. If you
|
|
want to run SunOS binaries on an Ultra you must also say Y to
|
|
"Kernel support for 32-bit a.out binaries" above.
|
|
|
|
config SOLARIS_EMUL
|
|
tristate "Solaris binary emulation (EXPERIMENTAL)"
|
|
depends on SPARC32_COMPAT && EXPERIMENTAL
|
|
help
|
|
This is experimental code which will enable you to run (many)
|
|
Solaris binaries on your SPARC Linux machine.
|
|
|
|
To compile this code as a module, choose M here: the
|
|
module will be called solaris.
|
|
|
|
endmenu
|
|
|
|
config SCHED_SMT
|
|
bool "SMT (Hyperthreading) scheduler support"
|
|
depends on SMP
|
|
default y
|
|
help
|
|
SMT scheduler support improves the CPU scheduler's decision making
|
|
when dealing with UltraSPARC cpus at a cost of slightly increased
|
|
overhead in some places. If unsure say N here.
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
config CMDLINE_BOOL
|
|
bool "Default bootloader kernel arguments"
|
|
|
|
config CMDLINE
|
|
string "Initial kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
default "console=ttyS0,9600 root=/dev/sda1"
|
|
help
|
|
Say Y here if you want to be able to pass default arguments to
|
|
the kernel. This will be overridden by the bootloader, if you
|
|
use one (such as SILO). This is most useful if you want to boot
|
|
a kernel from TFTP, and want default options to be available
|
|
with having them passed on the command line.
|
|
|
|
NOTE: This option WILL override the PROM bootargs setting!
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "drivers/sbus/char/Kconfig"
|
|
|
|
source "drivers/fc4/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
menu "Instrumentation Support"
|
|
depends on EXPERIMENTAL
|
|
|
|
source "arch/sparc64/oprofile/Kconfig"
|
|
|
|
config KPROBES
|
|
bool "Kprobes (EXPERIMENTAL)"
|
|
depends on KALLSYMS && EXPERIMENTAL && MODULES
|
|
help
|
|
Kprobes allows you to trap at almost any kernel address and
|
|
execute a callback function. register_kprobe() establishes
|
|
a probepoint and specifies the callback. Kprobes is useful
|
|
for kernel debugging, non-intrusive instrumentation and testing.
|
|
If in doubt, say "N".
|
|
endmenu
|
|
|
|
source "arch/sparc64/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|