endchoice
+config X86_64_XEN
+ bool "Enable Xen compatible kernel"
+ select SWIOTLB
+ help
+ This option will compile a kernel compatible with Xen hypervisor
+
+config X86_NO_TSS
+ bool
+ depends on X86_64_XEN
+ default y
+
+config X86_NO_IDT
+ bool
+ depends on X86_64_XEN
+ default y
+
#
# Define implied options from the CPU selection here
#
config X86_TSC
bool
+ depends on !X86_64_XEN
default y
config X86_GOOD_APIC
config X86_HT
bool
- depends on SMP && !MK8
+ depends on SMP && !MK8 && !X86_64_XEN
default y
config MATH_EMULATION
config X86_IO_APIC
bool
+ depends !XEN_UNPRIVILEGED_GUEST
default y
+config X86_XEN_GENAPIC
+ bool
+ depends X86_64_XEN
+ default XEN_PRIVILEGED_GUEST || SMP
+
config X86_LOCAL_APIC
bool
+ depends !XEN_UNPRIVILEGED_GUEST
default y
config MTRR
bool "MTRR (Memory Type Range Register) support"
+ depends on !XEN_UNPRIVILEGED_GUEST
---help---
On Intel P6 family processors (Pentium Pro, Pentium II and later)
the Memory Type Range Registers (MTRRs) may be used to control
config SCHED_SMT
bool "SMT (Hyperthreading) scheduler support"
- depends on SMP
+ depends on SMP && !X86_64_XEN
default n
help
SMT scheduler support improves the CPU scheduler's decision making
config SCHED_MC
bool "Multi-core scheduler support"
- depends on SMP
+ depends on SMP && !X86_64_XEN
default y
help
Multi-core scheduler support improves the CPU scheduler's decision
config NUMA
bool "Non Uniform Memory Access (NUMA) Support"
- depends on SMP
+ depends on SMP && !X86_64_XEN
help
Enable NUMA (Non Uniform Memory Access) support. The kernel
will try to allocate memory used by a CPU on the local memory
config ARCH_SPARSEMEM_ENABLE
def_bool y
- depends on (NUMA || EXPERIMENTAL)
+ depends on (NUMA || EXPERIMENTAL) && !X86_64_XEN
config ARCH_MEMORY_PROBE
def_bool y
int "Maximum number of CPUs (2-256)"
range 2 255
depends on SMP
+ default "16" if X86_64_XEN
default "8"
help
This allows you to specify the maximum number of CPUs which this
can be controlled through /sys/devices/system/cpu/cpu#.
Say N if you want to disable CPU hotplug.
+config ARCH_ENABLE_MEMORY_HOTPLUG
+ def_bool y
config HPET_TIMER
bool
+ depends on !X86_64_XEN
default y
help
Use the IA-PC HPET (High Precision Event Timer) to manage
bool "K8 GART IOMMU support"
default y
select SWIOTLB
- depends on PCI
+ depends on PCI && !X86_64_XEN
help
Support for hardware IOMMU in AMD's Opteron/Athlon64 Processors
and for the bounce buffering software IOMMU.
config X86_MCE
bool "Machine check support" if EMBEDDED
+ depends on !X86_64_XEN
default y
help
Include a machine check error handler to report hardware errors.
config KEXEC
bool "kexec system call (EXPERIMENTAL)"
- depends on EXPERIMENTAL
+ depends on EXPERIMENTAL && !X86_64_XEN
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
default y
menu "Power management options"
+ depends on !XEN_UNPRIVILEGED_GUEST
+if !X86_64_XEN
source kernel/power/Kconfig
+endif
source "drivers/acpi/Kconfig"
bool "Support mmconfig PCI config space access"
depends on PCI && ACPI
+config XEN_PCIDEV_FRONTEND
+ bool "Xen PCI Frontend"
+ depends on PCI && X86_64_XEN
+ default y
+ help
+ The PCI device frontend driver allows the kernel to import arbitrary
+ PCI devices from a PCI backend to support PCI driver domains.
+
+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"
source "crypto/Kconfig"
+source "drivers/xen/Kconfig"
+
source "lib/Kconfig"