mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-30 13:38:40 +00:00
e18e2a00ef
This is the long overdue conversion of sparc64 over to the generic IRQ layer. The kernel image is slightly larger, but the BSS is ~60K smaller due to the reduced size of struct ino_bucket. A lot of IRQ implementation details, including ino_bucket, were moved out of asm-sparc64/irq.h and are now private to arch/sparc64/kernel/irq.c, and most of the code in irq.c totally disappeared. One thing that's different at the moment is IRQ distribution, we do it at enable_irq() time. If the cpu mask is ALL then we round-robin using a global rotating cpu counter, else we pick the first cpu in the mask to support single cpu targetting. This is similar to what powerpc's XICS IRQ support code does. This works fine on my UP SB1000, and the SMP build goes fine and runs on that machine, but lots of testing on different setups is needed. Signed-off-by: David S. Miller <davem@davemloft.net>
435 lines
11 KiB
Plaintext
435 lines
11 KiB
Plaintext
# $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 64BIT
|
|
def_bool y
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config TIME_INTERPOLATION
|
|
bool
|
|
default y
|
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
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"
|
|
|
|
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 PREEMPT
|
|
bool "Preemptible Kernel"
|
|
help
|
|
This option reduces the latency of the kernel when reacting to
|
|
real-time or interactive events by allowing a low priority process to
|
|
be preempted even if it is in kernel mode executing a system call.
|
|
This allows applications to run more reliably even when the system is
|
|
under load.
|
|
|
|
Say Y here if you are building a kernel for a desktop, embedded
|
|
or real-time system. Say N if you are unsure.
|
|
|
|
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 GENERIC_ISA_DMA
|
|
bool
|
|
default y
|
|
|
|
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
|
|
tristate "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.
|
|
|
|
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 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"
|