While Xen traditionally uses i386-softmmu to run it's PV models on all
architectures some models are very much x86 only. This includes the
full hardware virtualisation (HVM) which is only used on x86 HW. By
introducing the symbol we can also fix the inclusion of
XEN_PCI_PASSTHROUGH which should only be built for x86 (and Linux)
systems.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
meson.build | 6 +++++-
accel/Kconfig | 3 +++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 58e95227ea..46e4c2fc3a 100644
--- a/meson.build
+++ b/meson.build
@@ -83,6 +83,7 @@ endif
if cpu in ['x86', 'x86_64']
accelerator_targets += {
'CONFIG_HAX': ['i386-softmmu', 'x86_64-softmmu'],
+ 'CONFIG_XEN_HVM': ['i386-softmmu', 'x86_64-softmmu'],
'CONFIG_HVF': ['x86_64-softmmu'],
'CONFIG_WHPX': ['i386-softmmu', 'x86_64-softmmu'],
}
@@ -204,6 +205,9 @@ if not get_option('kvm').disabled() and targetos == 'linux'
endif
if not get_option('xen').disabled() and 'CONFIG_XEN_BACKEND' in config_host
accelerators += 'CONFIG_XEN'
+ if host_machine.cpu() == 'x86_64'
+ accelerators += 'CONFIG_XEN_HVM'
+ endif
have_xen_pci_passthrough = not get_option('xen_pci_passthrough').disabled() and targetos == 'linux'
else
have_xen_pci_passthrough = false
@@ -916,7 +920,7 @@ foreach target : target_dirs
if sym == 'CONFIG_TCG' or target in accelerator_targets.get(sym, [])
config_target += { sym: 'y' }
config_all += { sym: 'y' }
- if sym == 'CONFIG_XEN' and have_xen_pci_passthrough
+ if sym == 'CONFIG_XEN_HVM' and have_xen_pci_passthrough
config_target += { 'CONFIG_XEN_PCI_PASSTHROUGH': 'y' }
endif
have_accel = true
diff --git a/accel/Kconfig b/accel/Kconfig
index 2ad94a3839..4cd54029bd 100644
--- a/accel/Kconfig
+++ b/accel/Kconfig
@@ -7,3 +7,6 @@ config KVM
config XEN
bool
select FSDEV_9P if VIRTFS
+
+config XEN_HVM
+ bool
--
2.20.1