This is another series to provide a means to render the CPU virtualisation
technology support in Xen configurable.
Currently, irrespectively of the target platform, both AMD-V and Intel VT-x
drivers are built.
The series adds three new Kconfig controls, ALT2PM, AMD_SVM and INTEL_VMX,
that can be used to switch to a finer-grained configuration for a given
platform, and reduce dead code.
The code separation is done using the new config guards.
Major changes in this series, comparing to v4, are renaming of config options
from SVM to AMD_SVM and from VMX to INTEL_VMX -- the way they were in initial
RFC series. Also patch for ioreq has been remade once again trying to make it
clearer and simplify a bit.
More specific changes are provided in per-patch changelog.
v4 series here:
https://lore.kernel.org/xen-devel/cover.1720501197.git.Sergiy_Kibrik@epam.com/
-Sergiy
Sergiy Kibrik (6):
x86/monitor: guard altp2m usage
x86: introduce CONFIG_ALTP2M Kconfig option
x86: introduce using_{svm,vmx}() helpers
x86/vmx: guard access to cpu_has_vmx_* in common code
x86/vpmu: guard calls to vmx/svm functions
x86/vmx: replace CONFIG_HVM with CONFIG_INTEL_VMX in vmx.h
Xenia Ragiadakou (7):
x86: introduce AMD-V and Intel VT-x Kconfig options
x86/p2m: guard EPT functions with using_vmx() check
x86/traps: guard vmx specific functions with usinc_vmx() check
x86/PV: guard svm specific functions with usinc_svm() check
x86/oprofile: guard svm specific symbols with CONFIG_AMD_SVM
ioreq: do not build arch_vcpu_ioreq_completion() for non-VMX
configurations
x86/hvm: make AMD-V and Intel VT-x support configurable
xen/Kconfig | 3 +++
xen/arch/arm/ioreq.c | 6 -----
xen/arch/x86/Kconfig | 32 ++++++++++++++++++++++++
xen/arch/x86/cpu/vpmu_amd.c | 11 +++++----
xen/arch/x86/cpu/vpmu_intel.c | 32 +++++++++++++-----------
xen/arch/x86/domain.c | 8 +++---
xen/arch/x86/hvm/Makefile | 4 +--
xen/arch/x86/hvm/hvm.c | 4 +--
xen/arch/x86/hvm/ioreq.c | 2 ++
xen/arch/x86/hvm/monitor.c | 4 ++-
xen/arch/x86/hvm/nestedhvm.c | 4 +--
xen/arch/x86/include/asm/altp2m.h | 5 +++-
xen/arch/x86/include/asm/hvm/hvm.h | 12 ++++++++-
xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 33 ++++++++++++++++---------
xen/arch/x86/include/asm/hvm/vmx/vmx.h | 2 +-
xen/arch/x86/include/asm/p2m.h | 23 +++++++++++++----
xen/arch/x86/mm/Makefile | 5 ++--
xen/arch/x86/mm/hap/Makefile | 2 +-
xen/arch/x86/mm/p2m-basic.c | 4 +--
xen/arch/x86/oprofile/op_model_athlon.c | 2 +-
xen/arch/x86/traps.c | 8 ++----
xen/include/xen/ioreq.h | 10 ++++++++
22 files changed, 147 insertions(+), 69 deletions(-)
--
2.25.1