|
[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 |