On 2/13/23 17:11, Jan Beulich wrote:
On 13.02.2023 15:57, Xenia Ragiadakou wrote:
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -117,6 +117,12 @@ config HVM
If unsure, say Y.
+config AMD_SVM
+ def_bool y if HVM
+
+config INTEL_VMX
+ def_bool y if HVM
I'm not convinced we want vendor names here - I'd prefer to go with
just SVM and VMX.
Ok, personally I have not strong preferences.
--- a/xen/arch/x86/cpu/Makefile
+++ b/xen/arch/x86/cpu/Makefile
@@ -10,4 +10,6 @@ obj-y += intel.o
obj-y += intel_cacheinfo.o
obj-y += mwait-idle.o
obj-y += shanghai.o
-obj-y += vpmu.o vpmu_amd.o vpmu_intel.o
+obj-y += vpmu.o
+obj-$(CONFIG_AMD_SVM) += vpmu_amd.o
+obj-$(CONFIG_INTEL_VMX) += vpmu_intel.o
This code was moved from hvm/ to cpu/ for the specific reason of also
being used by PV guests. (Sadly the comments at the top weren't
corrected at that time.)
Hmm, the init functions are prefixed with svm/vmx.
Does vpmu depend on svm/vmx support?
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -51,7 +51,7 @@ config AMD_IOMMU
config INTEL_IOMMU
bool "Intel VT-d" if EXPERT
- depends on X86
+ depends on X86 && INTEL_VMX
default y
help
Enables I/O virtualization on platforms that implement the
This is odd in three ways: For one PV domains (i.e. incl Dom0) also use
the IOMMU. And then earlier on there was a change of yours specifically
relaxing the connection between I/O and CPU virtualization. Plus
finally you make no similar change for AMD.
I am planning to relax it as it is relevant only to posted interrupts
(that's why there is no such a dependency for AMD).
Jan
--
Xenia