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