858 lines
27 KiB
Diff
858 lines
27 KiB
Diff
|
Subject: xen3 xen-kconfig
|
||
|
From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 1017:948c933f8839)
|
||
|
Patch-mainline: n/a
|
||
|
Acked-by: jbeulich@novell.com
|
||
|
|
||
|
--- head-2010-03-24.orig/arch/x86/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/arch/x86/Kconfig 2010-03-24 14:37:43.000000000 +0100
|
||
|
@@ -70,6 +70,7 @@ config ARCH_DEFCONFIG
|
||
|
|
||
|
config GENERIC_TIME
|
||
|
def_bool y
|
||
|
+ depends on !X86_XEN
|
||
|
|
||
|
config GENERIC_CMOS_UPDATE
|
||
|
def_bool y
|
||
|
@@ -226,12 +227,23 @@ config X86_64_SMP
|
||
|
|
||
|
config X86_HT
|
||
|
bool
|
||
|
- depends on SMP
|
||
|
+ depends on SMP && !XEN
|
||
|
default y
|
||
|
|
||
|
config X86_TRAMPOLINE
|
||
|
bool
|
||
|
depends on SMP || (64BIT && ACPI_SLEEP)
|
||
|
+ depends on !XEN
|
||
|
+ default y
|
||
|
+
|
||
|
+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
|
||
|
@@ -311,6 +323,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
|
||
|
@@ -340,6 +363,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"
|
||
|
@@ -669,6 +699,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
|
||
|
@@ -714,7 +745,7 @@ config GART_IOMMU
|
||
|
bool "GART IOMMU support" if EMBEDDED
|
||
|
default y
|
||
|
select SWIOTLB
|
||
|
- depends on X86_64 && PCI && K8_NB
|
||
|
+ depends on X86_64 && PCI && K8_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,
|
||
|
@@ -729,7 +760,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
|
||
|
@@ -813,6 +844,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
|
||
|
@@ -844,7 +876,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
|
||
|
@@ -870,15 +902,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"
|
||
|
default n
|
||
|
@@ -905,6 +944,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).
|
||
|
@@ -914,7 +954,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.
|
||
|
@@ -930,7 +970,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.
|
||
|
@@ -957,6 +997,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
|
||
|
@@ -1009,7 +1053,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
|
||
|
@@ -1026,6 +1070,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
|
||
|
@@ -1216,7 +1261,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---
|
||
|
@@ -1325,6 +1370,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
|
||
|
|
||
|
@@ -1405,6 +1451,7 @@ config X86_RESERVE_LOW_64K
|
||
|
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
|
||
|
@@ -1432,6 +1479,7 @@ config MTRR
|
||
|
bool
|
||
|
default y
|
||
|
prompt "MTRR (Memory Type Range Register) support" if EMBEDDED
|
||
|
+ 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
|
||
|
@@ -1517,7 +1565,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).
|
||
|
@@ -1577,6 +1625,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
|
||
|
@@ -1594,6 +1643,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
|
||
|
@@ -1714,6 +1764,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.
|
||
|
|
||
|
@@ -1783,6 +1834,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
|
||
|
depends on NUMA
|
||
|
|
||
|
menu "Power management and ACPI options"
|
||
|
+ depends on !XEN_UNPRIVILEGED_GUEST
|
||
|
|
||
|
config ARCH_HIBERNATION_HEADER
|
||
|
def_bool y
|
||
|
@@ -1801,7 +1853,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
|
||
|
@@ -1962,6 +2014,7 @@ choice
|
||
|
|
||
|
config PCI_GOBIOS
|
||
|
bool "BIOS"
|
||
|
+ depends on !X86_XEN
|
||
|
|
||
|
config PCI_GOMMCONFIG
|
||
|
bool "MMConfig"
|
||
|
@@ -1973,6 +2026,13 @@ config PCI_GOOLPC
|
||
|
bool "OLPC"
|
||
|
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"
|
||
|
|
||
|
@@ -1980,7 +2040,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
|
||
|
@@ -2003,6 +2063,22 @@ config PCI_MMCONFIG
|
||
|
bool "Support mmconfig PCI config space access"
|
||
|
depends on X86_64 && PCI && ACPI
|
||
|
|
||
|
+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
|
||
|
@@ -2065,6 +2141,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
|
||
|
@@ -2092,6 +2169,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
|
||
|
@@ -2196,4 +2274,6 @@ source "crypto/Kconfig"
|
||
|
|
||
|
source "arch/x86/kvm/Kconfig"
|
||
|
|
||
|
+source "drivers/xen/Kconfig"
|
||
|
+
|
||
|
source "lib/Kconfig"
|
||
|
--- head-2010-03-24.orig/arch/x86/Kconfig.cpu 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/arch/x86/Kconfig.cpu 2010-03-24 14:36:44.000000000 +0100
|
||
|
@@ -336,7 +336,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_WP_WORKS_OK
|
||
|
def_bool y
|
||
|
@@ -393,6 +393,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-2010-03-24.orig/arch/x86/Kconfig.debug 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/arch/x86/Kconfig.debug 2010-03-24 14:36:44.000000000 +0100
|
||
|
@@ -136,7 +136,7 @@ config 4KSTACKS
|
||
|
config DOUBLEFAULT
|
||
|
default y
|
||
|
bool "Enable doublefault exception handler" if EMBEDDED
|
||
|
- 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-2010-03-24.orig/drivers/acpi/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/drivers/acpi/Kconfig 2010-03-24 14:36:44.000000000 +0100
|
||
|
@@ -307,6 +307,7 @@ config ACPI_PCI_SLOT
|
||
|
config X86_PM_TIMER
|
||
|
bool "Power Management Timer Support" if EMBEDDED
|
||
|
depends on X86
|
||
|
+ depends on !XEN
|
||
|
default y
|
||
|
help
|
||
|
The Power Management Timer is available on all ACPI-capable,
|
||
|
@@ -360,4 +361,13 @@ config ACPI_SBS
|
||
|
To compile this driver as a module, choose M here:
|
||
|
the modules will be called sbs and sbshc.
|
||
|
|
||
|
+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-2010-03-24.orig/drivers/char/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/drivers/char/Kconfig 2010-03-24 14:36:44.000000000 +0100
|
||
|
@@ -1047,7 +1047,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-2010-03-24.orig/drivers/char/tpm/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/drivers/char/tpm/Kconfig 2010-03-24 14:36:44.000000000 +0100
|
||
|
@@ -58,4 +58,13 @@ config TCG_INFINEON
|
||
|
Further information on this driver and the supported hardware
|
||
|
can be found at http://www.prosec.rub.de/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-2010-03-24.orig/drivers/cpufreq/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/drivers/cpufreq/Kconfig 2010-03-24 14:36:44.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-2010-03-24.orig/drivers/serial/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/drivers/serial/Kconfig 2010-03-24 14:36:44.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-2010-03-24.orig/drivers/xen/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/drivers/xen/Kconfig 2010-03-24 14:42:42.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-2010-03-24.orig/fs/Kconfig 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/fs/Kconfig 2010-03-24 14:36:44.000000000 +0100
|
||
|
@@ -160,6 +160,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-2010-03-24.orig/kernel/Kconfig.preempt 2010-03-24 14:42:50.000000000 +0100
|
||
|
+++ head-2010-03-24/kernel/Kconfig.preempt 2010-03-24 14:36:44.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)
|