[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] [RFC] x86/kconfig: Introduce CONFIG_PV and CONFIG_HVM
Making PV and HVM guests individually compilable is useful as a reduction in hypervisor size, and as an aid to enforcing clean API boundaries. Introduce CONFIG_PV and CONFIG_HVM, although there is a lot of work to do until either can actually be disabled. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> --- xen/arch/x86/Kconfig | 68 ++++++++++++++++++++++++++++---------- xen/arch/x86/Makefile | 4 +-- xen/tools/kconfig/allrandom.config | 4 +++ 3 files changed, 56 insertions(+), 20 deletions(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index 96ca2bf..87b03f3 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -32,6 +32,56 @@ menu "Architecture Features" source "arch/Kconfig" +config PV + def_bool y + prompt "PV guest support" if EXPERT = "y" + depends on X86 + ---help--- + Support for Xen Paravirtual guests. + + Xen PV guests use Ring Deprivileging as a method of virtualisation. + This requires no specific hardware support, but does require an OS + capable of running PV under Xen. + + If unsure, say Y. + + TODO: This is a work in process, and Xen doesn't currently compile + if this option is disabled. + +config HVM + def_bool y + prompt "HVM guest support" if EXPERT = "y" + depends on X86 + ---help--- + Support for Xen Hardware Virtual Machine guests. + + Xen HVM guests use hardware virtualisation extentions (Intel VT-x, + AMD SVM) to run OSes. This requires a CPU with appropriate + extentions, but can in principle run any OS, even if unmodified. + + If unsure, say Y. + + TODO: This is a work in process, and Xen doesn't currently compile + if this option is disabled. + +config HVM_FEP + bool "HVM Forced Emulation Prefix support" if EXPERT = "y" + default DEBUG + depends on HVM + ---help--- + Compiles in a feature that allows HVM guest to arbitrarily + exercise the instruction emulator. + + This feature can only be enabled during boot time with + appropriate hypervisor command line option. Please read + hypervisor command line documentation before trying to use + this feature. + + This is strictly for testing purposes, and not appropriate + for use in production. + + If unsure, say N. + config SHADOW_PAGING bool "Shadow Paging" default y @@ -61,24 +111,6 @@ config BIGMEM If unsure, say N. -config HVM_FEP - bool "HVM Forced Emulation Prefix support" if EXPERT = "y" - default DEBUG - ---help--- - - Compiles in a feature that allows HVM guest to arbitrarily - exercise the instruction emulator. - - This feature can only be enabled during boot time with - appropriate hypervisor command line option. Please read - hypervisor command line documentation before trying to use - this feature. - - This is strictly for testing purposes, and not appropriate - for use in production. - - If unsure, say N. - config TBOOT def_bool y prompt "Xen tboot support" if EXPERT = "y" diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 10f519e..d7c8970 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -1,10 +1,10 @@ subdir-y += acpi subdir-y += cpu subdir-y += genapic -subdir-y += hvm +subdir-$(CONFIG_HVM) += hvm subdir-y += mm subdir-$(CONFIG_XENOPROF) += oprofile -subdir-y += pv +subdir-$(CONFIG_PV) += pv subdir-y += x86_64 alternative-y := alternative.init.o diff --git a/xen/tools/kconfig/allrandom.config b/xen/tools/kconfig/allrandom.config index c7753ac..329ef59 100644 --- a/xen/tools/kconfig/allrandom.config +++ b/xen/tools/kconfig/allrandom.config @@ -1,3 +1,7 @@ # Explicit option choices not subject to regular RANDCONFIG CONFIG_GCOV_FORMAT_AUTODETECT=y + +# Being able to compile-out guest subsystems is a work-in-progress. +CONFIG_PV=y +CONFIG_HVM=y -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |