aboutsummaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-12-09 15:31:15 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2023-12-12 11:18:21 +0100
commit16b6273b4bbdaf44ff1849cb468335ff55db903c (patch)
tree59fcda97483f6ba14c5993535abdd06804ec75c1 /meson.build
parentabf635ddfe3242df907f58967f3c1e6763bbca2d (diff)
downloadqemu-16b6273b4bbdaf44ff1849cb468335ff55db903c.zip
qemu-16b6273b4bbdaf44ff1849cb468335ff55db903c.tar.gz
qemu-16b6273b4bbdaf44ff1849cb468335ff55db903c.tar.bz2
meson, xen: fix condition for enabling the Xen accelerator
A misspelled condition in xen_native.h is hiding a bug in the enablement of Xen for qemu-system-aarch64. The bug becomes apparent when building for Xen 4.18. While the i386 emulator provides the xenpv machine type for multiple architectures, and therefore can be compiled with Xen enabled even when the host is Arm, the opposite is not true: qemu-system-aarch64 can only be compiled with Xen support enabled when the host is Arm. Expand the computation of accelerator_targets['CONFIG_XEN'] similar to what is already there for KVM. Cc: Stefano Stabellini <stefano.stabellini@amd.com> Cc: Richard W.M. Jones <rjones@redhat.com> Cc: Daniel P. Berrangé <berrange@redhat.com> Reported-by: Michael Young <m.a.young@durham.ac.uk> Fixes: 0c8ab1cddd6 ("xen_arm: Create virtio-mmio devices during initialization", 2023-08-30) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build17
1 files changed, 10 insertions, 7 deletions
diff --git a/meson.build b/meson.build
index ec01f8b..67f4ede 100644
--- a/meson.build
+++ b/meson.build
@@ -123,21 +123,24 @@ if get_option('kvm').allowed() and targetos == 'linux'
kvm_targets_c = '"' + '" ,"'.join(kvm_targets) + '"'
endif
config_host_data.set('CONFIG_KVM_TARGETS', kvm_targets_c)
-
accelerator_targets = { 'CONFIG_KVM': kvm_targets }
+if cpu in ['x86', 'x86_64']
+ xen_targets = ['i386-softmmu', 'x86_64-softmmu']
+elif cpu in ['arm', 'aarch64']
+ # i386 emulator provides xenpv machine type for multiple architectures
+ xen_targets = ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu']
+else
+ xen_targets = []
+endif
+accelerator_targets += { 'CONFIG_XEN': xen_targets }
+
if cpu in ['aarch64']
accelerator_targets += {
'CONFIG_HVF': ['aarch64-softmmu']
}
endif
-if cpu in ['x86', 'x86_64', 'arm', 'aarch64']
- # i386 emulator provides xenpv machine type for multiple architectures
- accelerator_targets += {
- 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu'],
- }
-endif
if cpu in ['x86', 'x86_64']
accelerator_targets += {
'CONFIG_HVF': ['x86_64-softmmu'],