486, 586, Pentiums, and various instruction-set-compatible chips by
AMD, Cyrix, and others.
-config GENERIC_TIME
- bool
- depends on !X86_XEN
- default y
-
-config LOCKDEP_SUPPORT
- bool
- default y
-
-config STACKTRACE_SUPPORT
- bool
- default y
-
config SEMAPHORE_SLEEPERS
bool
default y
bool
default y
-config GENERIC_HWEIGHT
- bool
- default y
-
config ARCH_MAY_HAVE_PC_FDC
bool
default y
menu "Processor type and features"
-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, like most personal computers, 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.
-
- Note that if you say Y here and choose architecture "586" or
- "Pentium" under "Processor family", the kernel will not work on 486
- architectures. Similarly, multiprocessor kernels for the "PPro"
- architecture may not work on all Pentium based boards.
-
- 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/i386/IO-APIC.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.
-
choice
prompt "Subarchitecture Type"
default X86_PC
help
Choose this option if your computer is a standard PC or compatible.
-config X86_XEN
- bool "Xen-compatible"
- select X86_UP_APIC if !SMP && XEN_PRIVILEGED_GUEST
- select X86_UP_IOAPIC if !SMP && XEN_PRIVILEGED_GUEST
- select SWIOTLB
- help
- Choose this option if you plan to run this kernel on top of the
- Xen Hypervisor.
-
config X86_ELAN
bool "AMD Elan"
help
config X86_NUMAQ
bool "NUMAQ (IBM/Sequent)"
- select SMP
select NUMA
help
This option is used for getting Linux to run on a (IBM/Sequent) NUMA
In particular, it is needed for the x440.
If you don't have one of these computers, you should say N here.
- If you want to build a NUMA kernel, you must select ACPI.
config X86_BIGSMP
bool "Support for other sub-arch SMP systems with more than 8 CPUs"
help
This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
It is intended for a generic binary kernel.
- If you want a NUMA kernel, select ACPI. We need SRAT for NUMA.
config X86_ES7000
bool "Support for Unisys ES7000 IA32 series"
config ACPI_SRAT
bool
default y
- depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
- select ACPI_NUMA
-
-config HAVE_ARCH_PARSE_SRAT
- bool
- default y
- depends on ACPI_SRAT
+ depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
config X86_SUMMIT_NUMA
bool
config HPET_TIMER
bool "HPET Timer Support"
- depends on !X86_XEN
help
This enables the use of the HPET for the kernel's internal timer.
HPET is the next generation timer replacing legacy 8254s.
depends on HPET_TIMER && RTC=y
default y
+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, like most personal computers, 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.
+
+ Note that if you say Y here and choose architecture "586" or
+ "Pentium" under "Processor family", the kernel will not work on 486
+ architectures. Similarly, multiprocessor kernels for the "PPro"
+ architecture may not work on all Pentium based boards.
+
+ 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/i386/IO-APIC.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-255)"
range 2 255
config SCHED_SMT
bool "SMT (Hyperthreading) scheduler support"
- depends on X86_HT
+ depends on SMP
+ default off
help
SMT scheduler support improves the CPU scheduler's decision making
when dealing with Intel Pentium 4 chips with HyperThreading at a
cost of slightly increased overhead in some places. If unsure say
N here.
-config SCHED_MC
- bool "Multi-core scheduler support"
- depends on X86_HT
- default y
- help
- Multi-core scheduler support improves the CPU scheduler's decision
- making when dealing with multi-core CPU chips at a cost of slightly
- increased overhead in some places. If unsure say N here.
-
source "kernel/Kconfig.preempt"
config X86_UP_APIC
bool "Local APIC support on uniprocessors"
- depends on !SMP && !(X86_VISWS || X86_VOYAGER || XEN_UNPRIVILEGED_GUEST)
+ depends on !SMP && !(X86_VISWS || X86_VOYAGER)
help
A local APIC (Advanced Programmable Interrupt Controller) is an
integrated interrupt controller in the CPU. If you have a single-CPU
config X86_LOCAL_APIC
bool
- depends on X86_UP_APIC || ((X86_VISWS || SMP) && !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST))
+ depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER)
default y
config X86_IO_APIC
bool
- depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER || XEN_UNPRIVILEGED_GUEST))
+ depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER))
default y
config X86_VISWS_APIC
config X86_MCE
bool "Machine Check Exception"
- depends on !(X86_VOYAGER || X86_XEN)
+ depends on !X86_VOYAGER
---help---
Machine Check Exception support allows the processor to notify the
kernel if it detects a problem (e.g. overheating, component failure).
Enabling this feature will cause a message to be printed when the P4
enters thermal throttling.
-config VM86
- default y
- bool "Enable VM86 support" if EMBEDDED
- help
- This option is required by programs like DOSEMU to run 16-bit legacy
- code on X86 processors. It also may be needed by software like
- XFree86 to initialize some video cards via BIOS. Disabling this
- option saves about 6k.
-
config TOSHIBA
tristate "Toshiba Laptop support"
---help---
config MICROCODE
tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
- depends on !XEN_UNPRIVILEGED_GUEST
---help---
If you say Y here and also to "/dev file system support" in the
'File systems' section, you will be able to update the microcode on
config X86_MSR
tristate "/dev/cpu/*/msr - Model-specific register support"
- depends on !X86_XEN
help
This device gives privileged processes access to the x86
Model-Specific Registers (MSRs). It is a character device with
with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
/dev/cpu/31/cpuid.
-config SWIOTLB
- bool
- default n
-
source "drivers/firmware/Kconfig"
choice
config NOHIGHMEM
bool "off"
- depends on !X86_NUMAQ
---help---
Linux can use up to 64 Gigabytes of physical memory on x86 systems.
However, the address space of 32-bit x86 processors is only 4
config HIGHMEM4G
bool "4GB"
- depends on !X86_NUMAQ
help
Select this if you have a 32-bit processor and between 1 and 4
gigabytes of physical RAM.
choice
depends on EXPERIMENTAL && !X86_PAE
- prompt "Memory split" if EMBEDDED
+ prompt "Memory split"
default VMSPLIT_3G
help
Select the desired split between kernel and user memory.
will also likely make your kernel incompatible with binary-only
kernel modules.
- If you are not absolutely sure what you are doing, leave this
- option alone!
-
config VMSPLIT_3G
- bool "3G/1G user/kernel split"
- config VMSPLIT_3G_OPT
- bool "3G/1G user/kernel split (for full 1G low memory)"
+ bool "3G/1G user/kernel split (Default)"
+ help
+ This is the default split of 3GB userspace to 1GB kernel
+ space, which will result in about 860MB of lowmem.
+
+ config VMSPLIT_25G
+ bool "2.5G/1.5G user/kernel split"
+ help
+ This split provides 2.5GB userspace and 1.5GB kernel
+ space, which will result in about 1370MB of lowmem.
+
config VMSPLIT_2G
bool "2G/2G user/kernel split"
+ help
+ This split provides 2GB userspace and 2GB kernel
+ space, which will result in about 1880MB of lowmem.
+
+ config VMSPLIT_15G
+ bool "1.5G/2.5G user/kernel split"
+ help
+ This split provides 1.5GB userspace and 2.5GB kernel
+ space, which will result in about 2390MB of lowmem.
+
config VMSPLIT_1G
bool "1G/3G user/kernel split"
+ help
+ This split provides 1GB userspace and 3GB kernel
+ space, which will result in about 2900MB of lowmem.
+
endchoice
config PAGE_OFFSET
hex
- default 0xB0000000 if VMSPLIT_3G_OPT
- default 0x78000000 if VMSPLIT_2G
+ default 0xA0000000 if VMSPLIT_25G
+ default 0x80000000 if VMSPLIT_2G
+ default 0x60000000 if VMSPLIT_15G
default 0x40000000 if VMSPLIT_1G
default 0xC0000000
bool
depends on HIGHMEM64G
default y
- select RESOURCES_64BIT
# Common NUMA Features
config NUMA
bool "Numa Memory Allocation and Scheduler Support"
- depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI)
+ depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI))
default n if X86_PC
default y if (X86_NUMAQ || X86_SUMMIT)
+# Need comments to help the hapless user trying to turn on NUMA support
+comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support"
+ depends on X86_NUMAQ && (!HIGHMEM64G || !SMP)
+
comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
-config NODES_SHIFT
- int
- default "4" if X86_NUMAQ
- default "3"
- depends on NEED_MULTIPLE_NODES
-
config HAVE_ARCH_BOOTMEM_NODE
bool
depends on NUMA
config HIGHPTE
bool "Allocate 3rd-level pagetables from highmem"
- depends on (HIGHMEM4G || HIGHMEM64G) && !X86_XEN
+ depends on HIGHMEM4G || HIGHMEM64G
help
The VM uses one page table entry for each page of physical memory.
For systems with a lot of RAM, this can be wasteful of precious
config MATH_EMULATION
bool "Math emulation"
- depends on !X86_XEN
---help---
Linux can emulate a math coprocessor (used for floating point
operations) if you don't have one. 486DX and Pentium processors have
config MTRR
bool "MTRR (Memory Type Range Register) support"
- depends on !XEN_UNPRIVILEGED_GUEST
- default y if X86_XEN
---help---
On Intel P6 family processors (Pentium Pro, Pentium II and later)
the Memory Type Range Registers (MTRRs) may be used to control
See <file:Documentation/mtrr.txt> for more information.
config EFI
- bool "Boot from EFI support"
- depends on ACPI && !X86_XEN
+ bool "Boot from EFI support (EXPERIMENTAL)"
+ depends on ACPI
default n
---help---
This enables the the kernel to boot on EFI platforms using
config IRQBALANCE
bool "Enable kernel irq balancing"
- depends on SMP && X86_IO_APIC && !X86_XEN
+ depends on SMP && X86_IO_APIC
default y
help
The default yes will allow the kernel to do irq load balancing.
default y
config REGPARM
- bool "Use register arguments"
- default y
+ bool "Use register arguments (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ default n
help
- Compile the kernel with -mregparm=3. This instructs gcc to use
- a more efficient function call ABI which passes the first three
- arguments of a function call via registers, which results in denser
- and faster code.
-
- If this option is disabled, then the default ABI of passing
- arguments via the stack is used.
-
- If unsure, say Y.
+ Compile the kernel with -mregparm=3. This uses a different ABI
+ and passes the first three arguments of a function call in registers.
+ This will probably break binary only modules.
config SECCOMP
bool "Enable seccomp to safely compute untrusted bytecode"
config KEXEC
bool "kexec system call (EXPERIMENTAL)"
- depends on EXPERIMENTAL && !X86_XEN
+ depends on EXPERIMENTAL
help
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
- but it is independent of the system firmware. And like a reboot
+ but it is indepedent of the system firmware. And like a reboot
you can start any kernel with it, not just Linux.
- The name comes from the similarity to the exec system call.
+ The name comes from the similiarity to the exec system call.
It is an ongoing process to be certain the hardware in a machine
is properly shutdown, so do not be surprised if this code does not
Generate crash dump after being started by kexec.
config PHYSICAL_START
- hex "Physical address where the kernel is loaded"
+ hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
default "0x1000000" if CRASH_DUMP
default "0x100000"
bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER
---help---
- Say Y here to experiment with turning CPUs off and on, and to
- enable suspend on SMP systems. CPUs can be controlled through
- /sys/devices/system/cpu.
+ Say Y here to experiment with turning CPUs off and on. CPUs
+ can be controlled through /sys/devices/system/cpu.
-config COMPAT_VDSO
- bool "Compat VDSO support"
+ Say N.
+
+config DOUBLEFAULT
default y
- depends on !X86_XEN
+ bool "Enable doublefault exception handler" if EMBEDDED
help
- Map the VDSO to the predictable old-style address too.
- ---help---
- Say N here if you are running a sufficiently recent glibc
- version (2.3.3 or later), to remove the high-mapped
- VDSO mapping and to exclusively use the randomized VDSO.
-
- If unsure, say Y.
+ This option allows trapping of rare doublefault exceptions that
+ would otherwise cause a system to silently reboot. Disabling this
+ option saves about 4k and might cause you much additional grey
+ hair.
endmenu
depends on HIGHMEM
menu "Power management options (ACPI, APM)"
- depends on !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST)
+ depends on !X86_VOYAGER
-if !X86_XEN
source kernel/power/Kconfig
-endif
source "drivers/acpi/Kconfig"
menu "APM (Advanced Power Management) BIOS Support"
-depends on PM && !(X86_VISWS || X86_XEN)
+depends on PM && !X86_VISWS
config APM
tristate "APM (Advanced Power Management) BIOS support"
- depends on PM && PM_LEGACY
+ depends on PM
---help---
APM is a BIOS specification for saving power using several different
techniques. This is mostly useful for battery powered laptops with
config PCI_GOBIOS
bool "BIOS"
- depends on !X86_XEN
config PCI_GOMMCONFIG
bool "MMConfig"
config PCI_GODIRECT
bool "Direct"
-config PCI_GOXEN_FE
- bool "Xen PCI Frontend"
- depends on X86_XEN
- help
- The PCI device frontend driver allows the kernel to import arbitrary
- PCI devices from a PCI backend to support PCI driver domains.
-
config PCI_GOANY
bool "Any"
config PCI_BIOS
bool
- depends on !(X86_VISWS || X86_XEN) && PCI && (PCI_GOBIOS || PCI_GOANY)
+ depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
default y
config PCI_DIRECT
depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
default y
-config XEN_PCIDEV_FRONTEND
- bool
- depends on PCI && X86_XEN && (PCI_GOXEN_FE || PCI_GOANY)
- default y
-
-config XEN_PCIDEV_FE_DEBUG
- bool "Xen PCI Frontend Debugging"
- depends on XEN_PCIDEV_FRONTEND
- default n
- help
- Enables some debug statements within the PCI Frontend.
-
source "drivers/pci/pcie/Kconfig"
source "drivers/pci/Kconfig"
config ISA
bool "ISA support"
- depends on !(X86_VOYAGER || X86_VISWS || X86_XEN)
+ depends on !(X86_VOYAGER || X86_VISWS)
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
source "drivers/eisa/Kconfig"
config MCA
- bool "MCA support" if !(X86_VISWS || X86_VOYAGER || X86_XEN)
+ bool "MCA support" if !(X86_VISWS || X86_VOYAGER)
default y if X86_VOYAGER
help
MicroChannel Architecture is found in some IBM PS/2 machines and
tristate "NatSemi SCx200 support"
depends on !X86_VOYAGER
help
- This provides basic support for National Semiconductor's
- (now AMD's) Geode processors. The driver probes for the
- PCI-IDs of several on-chip devices, so its a good dependency
- for other scx200_* drivers.
-
- If compiled as a module, the driver is named scx200.
+ This provides basic support for the National Semiconductor SCx200
+ processor. Right now this is just a driver for the GPIO pins.
-config SCx200HR_TIMER
- tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
- depends on SCx200 && GENERIC_TIME
- default y
- help
- This driver provides a clocksource built upon the on-chip
- 27MHz high-resolution timer. Its also a workaround for
- NSC Geode SC-1100's buggy TSC, which loses time when the
- processor goes idle (as is done by the scheduler). The
- other workaround is idle=poll boot option.
+ If you don't know what to do here, say N.
-config K8_NB
- def_bool y
- depends on AGP_AMD64
+ This support is also available as a module. If compiled as a
+ module, it will be called scx200.
source "drivers/pcmcia/Kconfig"
source "crypto/Kconfig"
-source "drivers/xen/Kconfig"
-
source "lib/Kconfig"
#
config X86_HT
bool
- depends on SMP && !(X86_VISWS || X86_VOYAGER || X86_XEN)
+ depends on SMP && !(X86_VISWS || X86_VOYAGER)
default y
config X86_BIOS_REBOOT
depends on X86_SMP || (X86_VOYAGER && SMP)
default y
-config X86_NO_TSS
- bool
- depends on X86_XEN
- default y
-
-config X86_NO_IDT
- bool
- depends on X86_XEN
- default y
-
config KTIME_SCALAR
bool
default y