857 lines
27 KiB
Diff
857 lines
27 KiB
Diff
Subject: xen3 xen-kconfig
|
|
From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1073:8fe973d8fb98)
|
|
Patch-mainline: n/a
|
|
Acked-by: jbeulich@novell.com
|
|
|
|
--- head-2011-01-30.orig/arch/x86/Kconfig 2011-01-31 12:42:58.000000000 +0100
|
|
+++ head-2011-01-30/arch/x86/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -83,6 +83,7 @@ config ARCH_DEFCONFIG
|
|
|
|
config GENERIC_CMOS_UPDATE
|
|
def_bool y
|
|
+ depends on !X86_XEN
|
|
|
|
config CLOCKSOURCE_WATCHDOG
|
|
def_bool y
|
|
@@ -215,11 +216,22 @@ config X86_64_SMP
|
|
|
|
config X86_HT
|
|
def_bool y
|
|
- depends on SMP
|
|
+ depends on SMP && !XEN
|
|
|
|
config X86_TRAMPOLINE
|
|
def_bool y
|
|
depends on SMP || (64BIT && ACPI_SLEEP)
|
|
+ depends on !XEN
|
|
+
|
|
+config X86_NO_TSS
|
|
+ bool
|
|
+ depends on X86_XEN || X86_64_XEN
|
|
+ default y
|
|
+
|
|
+config X86_NO_IDT
|
|
+ bool
|
|
+ depends on X86_XEN || X86_64_XEN
|
|
+ default y
|
|
|
|
config X86_32_LAZY_GS
|
|
def_bool y
|
|
@@ -291,6 +303,17 @@ config X86_MPPARSE
|
|
For old smp systems that do not have proper acpi support. Newer systems
|
|
(esp with 64bit cpus) with acpi support, MADT and DSDT will override it
|
|
|
|
+config X86_XEN
|
|
+ bool "Xen-compatible"
|
|
+ select XEN
|
|
+ select X86_PAE
|
|
+ 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_BIGSMP
|
|
bool "Support for big SMP systems with more than 8 CPUs"
|
|
depends on X86_32 && SMP
|
|
@@ -320,6 +343,13 @@ config X86_EXTENDED_PLATFORM
|
|
generic distribution kernel, say Y here - otherwise say N.
|
|
endif
|
|
|
|
+config X86_64_XEN
|
|
+ bool "Enable Xen compatible kernel"
|
|
+ select XEN
|
|
+ select SWIOTLB
|
|
+ help
|
|
+ This option will compile a kernel compatible with Xen hypervisor
|
|
+
|
|
if X86_64
|
|
config X86_EXTENDED_PLATFORM
|
|
bool "Support for extended (non-PC) x86 platforms"
|
|
@@ -597,6 +627,7 @@ source "arch/x86/Kconfig.cpu"
|
|
config HPET_TIMER
|
|
def_bool X86_64
|
|
prompt "HPET Timer Support" if X86_32
|
|
+ depends on !X86_XEN && !X86_64_XEN
|
|
---help---
|
|
Use the IA-PC HPET (High Precision Event Timer) to manage
|
|
time in preference to the PIT and RTC, if a HPET is
|
|
@@ -642,7 +673,7 @@ config GART_IOMMU
|
|
bool "GART IOMMU support" if EXPERT
|
|
default y
|
|
select SWIOTLB
|
|
- depends on X86_64 && PCI && AMD_NB
|
|
+ depends on X86_64 && PCI && AMD_NB && !X86_64_XEN
|
|
---help---
|
|
Support for full DMA access of devices with 32bit memory access only
|
|
on systems with more than 3GB. This is usually needed for USB,
|
|
@@ -657,7 +688,7 @@ config GART_IOMMU
|
|
config CALGARY_IOMMU
|
|
bool "IBM Calgary IOMMU support"
|
|
select SWIOTLB
|
|
- depends on X86_64 && PCI && EXPERIMENTAL
|
|
+ depends on X86_64 && PCI && !X86_64_XEN && EXPERIMENTAL
|
|
---help---
|
|
Support for hardware IOMMUs in IBM's xSeries x366 and x460
|
|
systems. Needed to run systems with more than 3GB of memory
|
|
@@ -740,6 +771,7 @@ config NR_CPUS
|
|
default "1" if !SMP
|
|
default "4096" if MAXSMP
|
|
default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
|
|
+ default "16" if X86_64_XEN
|
|
default "8" if SMP
|
|
---help---
|
|
This allows you to specify the maximum number of CPUs which this
|
|
@@ -782,7 +814,7 @@ source "kernel/Kconfig.preempt"
|
|
|
|
config X86_UP_APIC
|
|
bool "Local APIC support on uniprocessors"
|
|
- depends on X86_32 && !SMP && !X86_32_NON_STANDARD
|
|
+ depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !XEN_UNPRIVILEGED_GUEST
|
|
---help---
|
|
A local APIC (Advanced Programmable Interrupt Controller) is an
|
|
integrated interrupt controller in the CPU. If you have a single-CPU
|
|
@@ -808,15 +840,22 @@ config X86_UP_IOAPIC
|
|
config X86_LOCAL_APIC
|
|
def_bool y
|
|
depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
|
|
+ depends on !XEN_UNPRIVILEGED_GUEST
|
|
|
|
config X86_IO_APIC
|
|
def_bool y
|
|
depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
|
|
+ depends on !XEN_UNPRIVILEGED_GUEST
|
|
|
|
config X86_VISWS_APIC
|
|
def_bool y
|
|
depends on X86_32 && X86_VISWS
|
|
|
|
+config X86_XEN_GENAPIC
|
|
+ bool
|
|
+ depends on X86_64_XEN
|
|
+ default y
|
|
+
|
|
config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
|
|
bool "Reroute for broken boot IRQs"
|
|
depends on X86_IO_APIC
|
|
@@ -842,6 +881,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
|
|
|
|
config X86_MCE
|
|
bool "Machine Check / overheating reporting"
|
|
+ depends on !X86_XEN && !XEN_UNPRIVILEGED_GUEST
|
|
---help---
|
|
Machine Check support allows the processor to notify the
|
|
kernel if it detects a problem (e.g. overheating, data corruption).
|
|
@@ -851,7 +891,7 @@ config X86_MCE
|
|
config X86_MCE_INTEL
|
|
def_bool y
|
|
prompt "Intel MCE features"
|
|
- depends on X86_MCE && X86_LOCAL_APIC
|
|
+ depends on X86_MCE && X86_LOCAL_APIC && !XEN
|
|
---help---
|
|
Additional support for intel specific MCE features such as
|
|
the thermal monitor.
|
|
@@ -867,7 +907,7 @@ config X86_MCE_XEON75XX
|
|
config X86_MCE_AMD
|
|
def_bool y
|
|
prompt "AMD MCE features"
|
|
- depends on X86_MCE && X86_LOCAL_APIC
|
|
+ depends on X86_MCE && X86_LOCAL_APIC && !XEN
|
|
---help---
|
|
Additional support for AMD specific MCE features such as
|
|
the DRAM Error Threshold.
|
|
@@ -892,6 +932,10 @@ config X86_MCE_INJECT
|
|
If you don't know what a machine check is and you don't do kernel
|
|
QA it is safe to say n.
|
|
|
|
+config X86_XEN_MCE
|
|
+ def_bool y
|
|
+ depends on XEN && X86_MCE
|
|
+
|
|
config X86_THERMAL_VECTOR
|
|
def_bool y
|
|
depends on X86_MCE_INTEL
|
|
@@ -944,7 +988,7 @@ config I8K
|
|
|
|
config X86_REBOOTFIXUPS
|
|
bool "Enable X86 board specific fixups for reboot"
|
|
- depends on X86_32
|
|
+ depends on X86_32 && !X86_XEN
|
|
---help---
|
|
This enables chipset and/or board specific fixups to be done
|
|
in order to get reboot to work correctly. This is only needed on
|
|
@@ -961,6 +1005,7 @@ config X86_REBOOTFIXUPS
|
|
|
|
config MICROCODE
|
|
tristate "/dev/cpu/microcode - microcode support"
|
|
+ depends on !XEN_UNPRIVILEGED_GUEST
|
|
select FW_LOADER
|
|
---help---
|
|
If you say Y here, you will be able to update the microcode on
|
|
@@ -1154,7 +1199,7 @@ config DIRECT_GBPAGES
|
|
# Common NUMA Features
|
|
config NUMA
|
|
bool "Numa Memory Allocation and Scheduler Support"
|
|
- depends on SMP
|
|
+ depends on SMP && !XEN
|
|
depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
|
|
default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
|
|
---help---
|
|
@@ -1263,6 +1308,7 @@ config ARCH_SPARSEMEM_DEFAULT
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
def_bool y
|
|
depends on X86_64 || NUMA || (EXPERIMENTAL && X86_32) || X86_32_NON_STANDARD
|
|
+ depends on !XEN
|
|
select SPARSEMEM_STATIC if X86_32
|
|
select SPARSEMEM_VMEMMAP_ENABLE if X86_64
|
|
|
|
@@ -1352,6 +1398,7 @@ config X86_RESERVE_LOW
|
|
config MATH_EMULATION
|
|
bool
|
|
prompt "Math emulation" if X86_32
|
|
+ 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
|
|
@@ -1378,6 +1425,7 @@ config MATH_EMULATION
|
|
config MTRR
|
|
def_bool y
|
|
prompt "MTRR (Memory Type Range Register) support" if EXPERT
|
|
+ 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
|
|
@@ -1462,7 +1510,7 @@ config ARCH_USES_PG_UNCACHED
|
|
|
|
config EFI
|
|
bool "EFI runtime service support"
|
|
- depends on ACPI
|
|
+ depends on ACPI && !XEN
|
|
---help---
|
|
This enables the kernel to use EFI runtime services that are
|
|
available (such as the EFI variable services).
|
|
@@ -1521,6 +1569,7 @@ source kernel/Kconfig.hz
|
|
|
|
config KEXEC
|
|
bool "kexec system call"
|
|
+ depends on !XEN_UNPRIVILEGED_GUEST
|
|
---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
|
|
@@ -1538,6 +1587,7 @@ config KEXEC
|
|
config CRASH_DUMP
|
|
bool "kernel crash dumps"
|
|
depends on X86_64 || (X86_32 && HIGHMEM)
|
|
+ depends on !XEN
|
|
---help---
|
|
Generate crash dump after being started by kexec.
|
|
This should be normally only set in special crash dump kernels
|
|
@@ -1657,6 +1707,7 @@ config COMPAT_VDSO
|
|
def_bool y
|
|
prompt "Compat VDSO support"
|
|
depends on X86_32 || IA32_EMULATION
|
|
+ depends on !X86_XEN
|
|
---help---
|
|
Map the 32-bit VDSO to the predictable old-style address too.
|
|
|
|
@@ -1728,6 +1779,7 @@ config USE_PERCPU_NUMA_NODE_ID
|
|
depends on NUMA
|
|
|
|
menu "Power management and ACPI options"
|
|
+ depends on !XEN_UNPRIVILEGED_GUEST
|
|
|
|
config ARCH_HIBERNATION_HEADER
|
|
def_bool y
|
|
@@ -1745,7 +1797,7 @@ config X86_APM_BOOT
|
|
|
|
menuconfig APM
|
|
tristate "APM (Advanced Power Management) BIOS support"
|
|
- depends on X86_32 && PM_SLEEP
|
|
+ depends on X86_32 && PM_SLEEP && !XEN
|
|
---help---
|
|
APM is a BIOS specification for saving power using several different
|
|
techniques. This is mostly useful for battery powered laptops with
|
|
@@ -1906,6 +1958,7 @@ choice
|
|
|
|
config PCI_GOBIOS
|
|
bool "BIOS"
|
|
+ depends on !X86_XEN
|
|
|
|
config PCI_GOMMCONFIG
|
|
bool "MMConfig"
|
|
@@ -1917,6 +1970,13 @@ config PCI_GOOLPC
|
|
bool "OLPC XO-1"
|
|
depends on OLPC
|
|
|
|
+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"
|
|
|
|
@@ -1924,7 +1984,7 @@ endchoice
|
|
|
|
config PCI_BIOS
|
|
def_bool y
|
|
- depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY)
|
|
+ depends on X86_32 && PCI && !XEN && (PCI_GOBIOS || PCI_GOANY)
|
|
|
|
# x86-64 doesn't support PCI BIOS access from long mode so always go direct.
|
|
config PCI_DIRECT
|
|
@@ -1966,6 +2026,22 @@ config PCI_CNB20LE_QUIRK
|
|
|
|
You should say N unless you know you need this.
|
|
|
|
+config XEN_PCIDEV_FRONTEND
|
|
+ bool "Xen PCI Frontend" if X86_64
|
|
+ depends on PCI && ((X86_XEN && (PCI_GOXEN_FE || PCI_GOANY)) || X86_64_XEN)
|
|
+ select HOTPLUG
|
|
+ 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.
|
|
+
|
|
config DMAR
|
|
bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
|
|
depends on PCI_MSI && ACPI && EXPERIMENTAL
|
|
@@ -2027,6 +2103,7 @@ if X86_32
|
|
|
|
config ISA
|
|
bool "ISA support"
|
|
+ depends on !XEN
|
|
---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
|
|
@@ -2054,6 +2131,7 @@ source "drivers/eisa/Kconfig"
|
|
|
|
config MCA
|
|
bool "MCA support"
|
|
+ depends on !XEN
|
|
---help---
|
|
MicroChannel Architecture is found in some IBM PS/2 machines and
|
|
laptops. It is a bus system similar to PCI or ISA. See
|
|
@@ -2184,4 +2262,6 @@ source "crypto/Kconfig"
|
|
|
|
source "arch/x86/kvm/Kconfig"
|
|
|
|
+source "drivers/xen/Kconfig"
|
|
+
|
|
source "lib/Kconfig"
|
|
--- head-2011-01-30.orig/arch/x86/Kconfig.cpu 2011-01-31 12:42:52.000000000 +0100
|
|
+++ head-2011-01-30/arch/x86/Kconfig.cpu 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -339,7 +339,7 @@ config X86_PPRO_FENCE
|
|
|
|
config X86_F00F_BUG
|
|
def_bool y
|
|
- depends on M586MMX || M586TSC || M586 || M486 || M386
|
|
+ depends on (M586MMX || M586TSC || M586 || M486 || M386) && !X86_NO_IDT
|
|
|
|
config X86_INVD_BUG
|
|
def_bool y
|
|
@@ -400,6 +400,7 @@ config X86_P6_NOP
|
|
config X86_TSC
|
|
def_bool y
|
|
depends on ((MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MATOM) && !X86_NUMAQ) || X86_64
|
|
+ depends on !XEN
|
|
|
|
config X86_CMPXCHG64
|
|
def_bool y
|
|
--- head-2011-01-30.orig/arch/x86/Kconfig.debug 2011-01-31 12:42:52.000000000 +0100
|
|
+++ head-2011-01-30/arch/x86/Kconfig.debug 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -139,7 +139,7 @@ config DEBUG_NX_TEST
|
|
config DOUBLEFAULT
|
|
default y
|
|
bool "Enable doublefault exception handler" if EXPERT
|
|
- depends on X86_32
|
|
+ depends on X86_32 && !X86_NO_TSS
|
|
---help---
|
|
This option allows trapping of rare doublefault exceptions that
|
|
would otherwise cause a system to silently reboot. Disabling this
|
|
--- head-2011-01-30.orig/drivers/acpi/Kconfig 2011-01-31 12:42:53.000000000 +0100
|
|
+++ head-2011-01-30/drivers/acpi/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -320,6 +320,7 @@ config ACPI_PCI_SLOT
|
|
config X86_PM_TIMER
|
|
bool "Power Management Timer Support" if EXPERT
|
|
depends on X86
|
|
+ depends on !XEN
|
|
default y
|
|
help
|
|
The Power Management Timer is available on all ACPI-capable,
|
|
@@ -383,4 +384,13 @@ config ACPI_HED
|
|
|
|
source "drivers/acpi/apei/Kconfig"
|
|
|
|
+config ACPI_PV_SLEEP
|
|
+ bool
|
|
+ depends on X86 && XEN && ACPI_SLEEP
|
|
+ default y
|
|
+
|
|
+config PROCESSOR_EXTERNAL_CONTROL
|
|
+ bool
|
|
+ depends on (X86 || IA64) && XEN
|
|
+ default y
|
|
endif # ACPI
|
|
--- head-2011-01-30.orig/drivers/char/Kconfig 2011-01-31 12:42:59.000000000 +0100
|
|
+++ head-2011-01-30/drivers/char/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -1070,7 +1070,7 @@ config MAX_RAW_DEVS
|
|
config HPET
|
|
bool "HPET - High Precision Event Timer" if (X86 || IA64)
|
|
default n
|
|
- depends on ACPI
|
|
+ depends on ACPI && !XEN
|
|
help
|
|
If you say Y here, you will have a miscdevice named "/dev/hpet/". Each
|
|
open selects one of the timers supported by the HPET. The timers are
|
|
--- head-2011-01-30.orig/drivers/char/tpm/Kconfig 2011-01-05 01:50:19.000000000 +0100
|
|
+++ head-2011-01-30/drivers/char/tpm/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -60,4 +60,13 @@ config TCG_INFINEON
|
|
Further information on this driver and the supported hardware
|
|
can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/
|
|
|
|
+config TCG_XEN
|
|
+ tristate "XEN TPM Interface"
|
|
+ depends on XEN
|
|
+ ---help---
|
|
+ If you want to make TPM support available to a Xen user domain,
|
|
+ say Yes and it will be accessible from within Linux.
|
|
+ To compile this driver as a module, choose M here; the module
|
|
+ will be called tpm_xenu.
|
|
+
|
|
endif # TCG_TPM
|
|
--- head-2011-01-30.orig/drivers/cpufreq/Kconfig 2011-01-31 12:42:53.000000000 +0100
|
|
+++ head-2011-01-30/drivers/cpufreq/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -1,5 +1,6 @@
|
|
config CPU_FREQ
|
|
bool "CPU Frequency scaling"
|
|
+ depends on !PROCESSOR_EXTERNAL_CONTROL
|
|
help
|
|
CPU Frequency scaling allows you to change the clock speed of
|
|
CPUs on the fly. This is a nice method to save power, because
|
|
--- head-2011-01-30.orig/drivers/tty/serial/Kconfig 2011-01-31 12:42:54.000000000 +0100
|
|
+++ head-2011-01-30/drivers/tty/serial/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -9,6 +9,7 @@ menu "Serial drivers"
|
|
# The new 8250/16550 serial drivers
|
|
config SERIAL_8250
|
|
tristate "8250/16550 and compatible serial support"
|
|
+ depends on !XEN_DISABLE_SERIAL
|
|
select SERIAL_CORE
|
|
---help---
|
|
This selects whether you want to include the driver for the standard
|
|
--- head-2011-01-30.orig/drivers/xen/Kconfig 2011-01-31 12:42:35.000000000 +0100
|
|
+++ head-2011-01-30/drivers/xen/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -1,8 +1,357 @@
|
|
+#
|
|
+# This Kconfig describe xen options
|
|
+#
|
|
+
|
|
+mainmenu "Xen Configuration"
|
|
+
|
|
+config XEN
|
|
+ bool
|
|
+
|
|
+if XEN
|
|
+config XEN_INTERFACE_VERSION
|
|
+ hex
|
|
+ default 0x00030207
|
|
+
|
|
+menu "XEN"
|
|
+
|
|
+config XEN_PRIVILEGED_GUEST
|
|
+ bool "Privileged Guest (domain 0)"
|
|
+ select PCI_REASSIGN if PCI
|
|
+ help
|
|
+ Support for privileged operation (domain 0)
|
|
+
|
|
+config XEN_UNPRIVILEGED_GUEST
|
|
+ def_bool !XEN_PRIVILEGED_GUEST
|
|
+
|
|
+config XEN_PRIVCMD
|
|
+ def_bool y
|
|
+ depends on PROC_FS
|
|
+
|
|
+config XEN_XENBUS_DEV
|
|
+ def_bool y
|
|
+ depends on PROC_FS
|
|
+
|
|
+config XEN_NETDEV_ACCEL_SFC_UTIL
|
|
+ depends on X86
|
|
+ tristate
|
|
+
|
|
+config XEN_BACKEND
|
|
+ tristate "Backend driver support"
|
|
+ default XEN_PRIVILEGED_GUEST
|
|
+ help
|
|
+ Support for backend device drivers that provide I/O services
|
|
+ to other virtual machines.
|
|
+
|
|
+config XEN_BLKDEV_BACKEND
|
|
+ tristate "Block-device backend driver"
|
|
+ depends on XEN_BACKEND
|
|
+ default XEN_BACKEND
|
|
+ help
|
|
+ The block-device backend driver allows the kernel to export its
|
|
+ block devices to other guests via a high-performance shared-memory
|
|
+ interface.
|
|
+
|
|
+config XEN_BLKDEV_TAP
|
|
+ tristate "Block-device tap backend driver"
|
|
+ depends on XEN_BACKEND
|
|
+ default XEN_BACKEND
|
|
+ help
|
|
+ The block tap driver is an alternative to the block back driver
|
|
+ and allows VM block requests to be redirected to userspace through
|
|
+ a device interface. The tap allows user-space development of
|
|
+ high-performance block backends, where disk images may be implemented
|
|
+ as files, in memory, or on other hosts across the network. This
|
|
+ driver can safely coexist with the existing blockback driver.
|
|
+
|
|
+config XEN_BLKDEV_TAP2
|
|
+ tristate "Block-device tap backend driver 2"
|
|
+ depends on XEN_BACKEND
|
|
+ default XEN_BACKEND
|
|
+ help
|
|
+ The block tap driver is an alternative to the block back driver
|
|
+ and allows VM block requests to be redirected to userspace through
|
|
+ a device interface. The tap allows user-space development of
|
|
+ high-performance block backends, where disk images may be implemented
|
|
+ as files, in memory, or on other hosts across the network. This
|
|
+ driver can safely coexist with the existing blockback driver.
|
|
+
|
|
+config XEN_BLKBACK_PAGEMAP
|
|
+ tristate
|
|
+ depends on XEN_BLKDEV_BACKEND != n && XEN_BLKDEV_TAP2 != n
|
|
+ default XEN_BLKDEV_BACKEND || XEN_BLKDEV_TAP2
|
|
+
|
|
+config XEN_NETDEV_BACKEND
|
|
+ tristate "Network-device backend driver"
|
|
+ depends on XEN_BACKEND && NET
|
|
+ default XEN_BACKEND
|
|
+ help
|
|
+ The network-device backend driver allows the kernel to export its
|
|
+ network devices to other guests via a high-performance shared-memory
|
|
+ interface.
|
|
+
|
|
+config XEN_NETDEV_PIPELINED_TRANSMITTER
|
|
+ bool "Pipelined transmitter (DANGEROUS)"
|
|
+ depends on XEN_NETDEV_BACKEND
|
|
+ help
|
|
+ If the net backend is a dumb domain, such as a transparent Ethernet
|
|
+ bridge with no local IP interface, it is safe to say Y here to get
|
|
+ slightly lower network overhead.
|
|
+ If the backend has a local IP interface; or may be doing smart things
|
|
+ like reassembling packets to perform firewall filtering; or if you
|
|
+ are unsure; or if you experience network hangs when this option is
|
|
+ enabled; then you must say N here.
|
|
+
|
|
+config XEN_NETDEV_ACCEL_SFC_BACKEND
|
|
+ tristate "Network-device backend driver acceleration for Solarflare NICs"
|
|
+ depends on XEN_NETDEV_BACKEND && SFC && SFC_RESOURCE && X86
|
|
+ select XEN_NETDEV_ACCEL_SFC_UTIL
|
|
+ default m
|
|
+
|
|
+config XEN_NETDEV_LOOPBACK
|
|
+ tristate "Network-device loopback driver"
|
|
+ depends on XEN_NETDEV_BACKEND
|
|
+ help
|
|
+ A two-interface loopback device to emulate a local netfront-netback
|
|
+ connection. If unsure, it is probably safe to say N here.
|
|
+
|
|
+config XEN_PCIDEV_BACKEND
|
|
+ tristate "PCI-device backend driver"
|
|
+ depends on PCI && XEN_BACKEND
|
|
+ default XEN_BACKEND
|
|
+ help
|
|
+ The PCI device backend driver allows the kernel to export arbitrary
|
|
+ PCI devices to other guests. If you select this to be a module, you
|
|
+ will need to make sure no other driver has bound to the device(s)
|
|
+ you want to make visible to other guests.
|
|
+
|
|
+choice
|
|
+ prompt "PCI Backend Mode"
|
|
+ depends on XEN_PCIDEV_BACKEND
|
|
+ default XEN_PCIDEV_BACKEND_VPCI if !IA64
|
|
+ default XEN_PCIDEV_BACKEND_CONTROLLER if IA64
|
|
+
|
|
+config XEN_PCIDEV_BACKEND_VPCI
|
|
+ bool "Virtual PCI"
|
|
+ ---help---
|
|
+ This PCI Backend hides the true PCI topology and makes the frontend
|
|
+ think there is a single PCI bus with only the exported devices on it.
|
|
+ For example, a device at 03:05.0 will be re-assigned to 00:00.0. A
|
|
+ second device at 02:1a.1 will be re-assigned to 00:01.1.
|
|
+
|
|
+config XEN_PCIDEV_BACKEND_PASS
|
|
+ bool "Passthrough"
|
|
+ ---help---
|
|
+ This PCI Backend provides a real view of the PCI topology to the
|
|
+ frontend (for example, a device at 06:01.b will still appear at
|
|
+ 06:01.b to the frontend). This is similar to how Xen 2.0.x exposed
|
|
+ PCI devices to its driver domains. This may be required for drivers
|
|
+ which depend on finding their hardward in certain bus/slot
|
|
+ locations.
|
|
+
|
|
+config XEN_PCIDEV_BACKEND_SLOT
|
|
+ bool "Slot"
|
|
+ ---help---
|
|
+ This PCI Backend hides the true PCI topology and makes the frontend
|
|
+ think there is a single PCI bus with only the exported devices on it.
|
|
+ Contrary to the virtual PCI backend, a function becomes a new slot.
|
|
+ For example, a device at 03:05.2 will be re-assigned to 00:00.0. A
|
|
+ second device at 02:1a.1 will be re-assigned to 00:01.0.
|
|
+
|
|
+config XEN_PCIDEV_BACKEND_CONTROLLER
|
|
+ bool "Controller"
|
|
+ depends on IA64
|
|
+ ---help---
|
|
+ This PCI backend virtualizes the PCI bus topology by providing a
|
|
+ virtual bus per PCI root device. Devices which are physically under
|
|
+ the same root bus will appear on the same virtual bus. For systems
|
|
+ with complex I/O addressing, this is the only backend which supports
|
|
+ extended I/O port spaces and MMIO translation offsets. This backend
|
|
+ also supports slot virtualization. For example, a device at
|
|
+ 0000:01:02.1 will be re-assigned to 0000:00:00.0. A second device
|
|
+ at 0000:02:05.0 (behind a P2P bridge on bus 0000:01) will be
|
|
+ re-assigned to 0000:00:01.0. A third device at 0000:16:05.0 (under
|
|
+ a different PCI root bus) will be re-assigned to 0000:01:00.0.
|
|
+
|
|
+endchoice
|
|
+
|
|
+config XEN_PCIDEV_BE_DEBUG
|
|
+ bool "PCI Backend Debugging"
|
|
+ depends on XEN_PCIDEV_BACKEND
|
|
+
|
|
+config XEN_TPMDEV_BACKEND
|
|
+ tristate "TPM-device backend driver"
|
|
+ depends on XEN_BACKEND
|
|
+ help
|
|
+ The TPM-device backend driver
|
|
+
|
|
+config XEN_SCSI_BACKEND
|
|
+ tristate "SCSI backend driver"
|
|
+ depends on SCSI && XEN_BACKEND
|
|
+ default m
|
|
+ help
|
|
+ The SCSI backend driver allows the kernel to export its SCSI Devices
|
|
+ to other guests via a high-performance shared-memory interface.
|
|
+
|
|
+config XEN_USB_BACKEND
|
|
+ tristate "USB backend driver"
|
|
+ depends on USB && XEN_BACKEND
|
|
+ default m
|
|
+ help
|
|
+ The USB backend driver allows the kernel to export its USB Devices
|
|
+ to other guests.
|
|
+
|
|
+config XEN_BLKDEV_FRONTEND
|
|
+ tristate "Block-device frontend driver"
|
|
+ default y
|
|
+ help
|
|
+ The block-device frontend driver allows the kernel to access block
|
|
+ devices mounted within another guest OS. Unless you are building a
|
|
+ dedicated device-driver domain, or your master control domain
|
|
+ (domain 0), then you almost certainly want to say Y here.
|
|
+
|
|
+config XEN_NETDEV_FRONTEND
|
|
+ tristate "Network-device frontend driver"
|
|
+ depends on NET
|
|
+ default y
|
|
+ help
|
|
+ The network-device frontend driver allows the kernel to access
|
|
+ network interfaces within another guest OS. Unless you are building a
|
|
+ dedicated device-driver domain, or your master control domain
|
|
+ (domain 0), then you almost certainly want to say Y here.
|
|
+
|
|
+config XEN_NETDEV_ACCEL_SFC_FRONTEND
|
|
+ tristate "Network-device frontend driver acceleration for Solarflare NICs"
|
|
+ depends on XEN_NETDEV_FRONTEND && X86
|
|
+ select XEN_NETDEV_ACCEL_SFC_UTIL
|
|
+ default m
|
|
+
|
|
+config XEN_SCSI_FRONTEND
|
|
+ tristate "SCSI frontend driver"
|
|
+ depends on SCSI
|
|
+ default m
|
|
+ help
|
|
+ The SCSI frontend driver allows the kernel to access SCSI Devices
|
|
+ within another guest OS.
|
|
+
|
|
+config XEN_USB_FRONTEND
|
|
+ tristate "USB frontend driver"
|
|
+ depends on USB
|
|
+ default m
|
|
+ help
|
|
+ The USB frontend driver allows the kernel to access USB Devices
|
|
+ within another guest OS.
|
|
+
|
|
+config XEN_USB_FRONTEND_HCD_STATS
|
|
+ bool "Taking the HCD statistics (for debug)"
|
|
+ depends on XEN_USB_FRONTEND
|
|
+ default y
|
|
+ help
|
|
+ Count the transferred urb status and the RING_FULL occurrence.
|
|
+
|
|
+config XEN_USB_FRONTEND_HCD_PM
|
|
+ bool "HCD suspend/resume support (DO NOT USE)"
|
|
+ depends on XEN_USB_FRONTEND
|
|
+ default n
|
|
+ help
|
|
+ Experimental bus suspend/resume feature support.
|
|
+
|
|
+config XEN_GRANT_DEV
|
|
+ tristate "User-space granted page access driver"
|
|
+ default XEN_PRIVILEGED_GUEST
|
|
+ help
|
|
+ Device for accessing (in user-space) pages that have been granted
|
|
+ by other domains.
|
|
+
|
|
+config XEN_FRAMEBUFFER
|
|
+ tristate "Framebuffer-device frontend driver"
|
|
+ depends on FB
|
|
+ select FB_CFB_FILLRECT
|
|
+ select FB_CFB_COPYAREA
|
|
+ select FB_CFB_IMAGEBLIT
|
|
+ default y
|
|
+ help
|
|
+ The framebuffer-device frontend drivers allows the kernel to create a
|
|
+ virtual framebuffer. This framebuffer can be viewed in another
|
|
+ domain. Unless this domain has access to a real video card, you
|
|
+ probably want to say Y here.
|
|
+
|
|
+config XEN_KEYBOARD
|
|
+ tristate "Keyboard-device frontend driver"
|
|
+ depends on XEN_FRAMEBUFFER && INPUT
|
|
+ default y
|
|
+ help
|
|
+ The keyboard-device frontend driver allows the kernel to create a
|
|
+ virtual keyboard. This keyboard can then be driven by another
|
|
+ domain. If you've said Y to CONFIG_XEN_FRAMEBUFFER, you probably
|
|
+ want to say Y here.
|
|
+
|
|
+config XEN_DISABLE_SERIAL
|
|
+ bool "Disable serial port drivers"
|
|
+ default y
|
|
+ help
|
|
+ Disable serial port drivers, allowing the Xen console driver
|
|
+ to provide a serial console at ttyS0.
|
|
+
|
|
+config XEN_SYSFS
|
|
+ tristate "Export Xen attributes in sysfs"
|
|
+ depends on SYSFS
|
|
+ select SYS_HYPERVISOR
|
|
+ default y
|
|
+ help
|
|
+ Xen hypervisor attributes will show up under /sys/hypervisor/.
|
|
+
|
|
+choice
|
|
+ prompt "Xen version compatibility"
|
|
+ default XEN_COMPAT_030002_AND_LATER
|
|
+
|
|
+ config XEN_COMPAT_030002_AND_LATER
|
|
+ bool "3.0.2 and later"
|
|
+
|
|
+ config XEN_COMPAT_030004_AND_LATER
|
|
+ bool "3.0.4 and later"
|
|
+
|
|
+ config XEN_COMPAT_030100_AND_LATER
|
|
+ bool "3.1.0 and later"
|
|
+
|
|
+ config XEN_COMPAT_LATEST_ONLY
|
|
+ bool "no compatibility code"
|
|
+
|
|
+endchoice
|
|
+
|
|
+config XEN_COMPAT
|
|
+ hex
|
|
+ default 0xffffff if XEN_COMPAT_LATEST_ONLY
|
|
+ default 0x030100 if XEN_COMPAT_030100_AND_LATER
|
|
+ default 0x030004 if XEN_COMPAT_030004_AND_LATER
|
|
+ default 0x030002 if XEN_COMPAT_030002_AND_LATER
|
|
+ default 0
|
|
+
|
|
+endmenu
|
|
+
|
|
+config HAVE_IRQ_IGNORE_UNHANDLED
|
|
+ def_bool y
|
|
+
|
|
+config NO_IDLE_HZ
|
|
+ def_bool y
|
|
+
|
|
+config XEN_SMPBOOT
|
|
+ def_bool y
|
|
+ depends on SMP && !PPC_XEN
|
|
+
|
|
+config XEN_XENCOMM
|
|
+ bool
|
|
+
|
|
+config XEN_DEVMEM
|
|
+ def_bool y
|
|
+
|
|
+endif
|
|
+
|
|
menu "Xen driver support"
|
|
- depends on XEN
|
|
+ depends on XEN || PARAVIRT_XEN
|
|
|
|
config XEN_BALLOON
|
|
- bool "Xen memory balloon driver"
|
|
+ bool "Xen memory balloon driver" if PARAVIRT_XEN
|
|
+ depends on PARAVIRT_XEN || !PPC_XEN
|
|
default y
|
|
help
|
|
The balloon driver allows the Xen domain to request more memory from
|
|
@@ -10,14 +359,16 @@ config XEN_BALLOON
|
|
return unneeded memory to the system.
|
|
|
|
config XEN_SCRUB_PAGES
|
|
- bool "Scrub pages before returning them to system"
|
|
- depends on XEN_BALLOON
|
|
+ bool "Scrub memory before freeing it to Xen"
|
|
+ depends on XEN || XEN_BALLOON
|
|
default y
|
|
help
|
|
- Scrub pages before returning them to the system for reuse by
|
|
- other domains. This makes sure that any confidential data
|
|
- is not accidentally visible to other domains. Is it more
|
|
- secure, but slightly less efficient.
|
|
+ Erase memory contents before freeing it back to Xen's global
|
|
+ pool. This ensures that any secrets contained within that
|
|
+ memory (e.g., private keys) cannot be found by other guests that
|
|
+ may be running on the machine. Most people will want to say Y here.
|
|
+ If security is not a concern then you may increase performance by
|
|
+ saying N.
|
|
If in doubt, say yes.
|
|
|
|
config XEN_DEV_EVTCHN
|
|
--- head-2011-01-30.orig/fs/Kconfig 2011-01-31 12:42:58.000000000 +0100
|
|
+++ head-2011-01-30/fs/Kconfig 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -141,6 +141,7 @@ config HUGETLBFS
|
|
bool "HugeTLB file system support"
|
|
depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
|
|
SYS_SUPPORTS_HUGETLBFS || BROKEN
|
|
+ depends on !XEN
|
|
help
|
|
hugetlbfs is a filesystem backing for HugeTLB pages, based on
|
|
ramfs. For architectures that support it, say Y here and read
|
|
--- head-2011-01-30.orig/kernel/Kconfig.preempt 2011-01-31 12:42:57.000000000 +0100
|
|
+++ head-2011-01-30/kernel/Kconfig.preempt 2011-01-31 14:42:03.000000000 +0100
|
|
@@ -36,6 +36,7 @@ config PREEMPT_VOLUNTARY
|
|
|
|
config PREEMPT
|
|
bool "Preemptible Kernel (Low-Latency Desktop)"
|
|
+ depends on !XEN
|
|
help
|
|
This option reduces the latency of the kernel by making
|
|
all kernel code (that is not executing in a critical section)
|