aboutsummaryrefslogtreecommitdiff
path: root/hw/arm
diff options
context:
space:
mode:
authorAlexander Graf <agraf@csgraf.de>2021-11-23 13:28:59 +0100
committerPeter Maydell <peter.maydell@linaro.org>2021-11-26 16:51:21 +0000
commitbede01170e9cb8f9ac9c6a0665ee9f3989a57e6a (patch)
tree9b53768405d1c6849f7ad3467a8f17654cb81fc1 /hw/arm
parentdd4b0de45965538f19bb40c7ddaaba384a8c613a (diff)
downloadqemu-bede01170e9cb8f9ac9c6a0665ee9f3989a57e6a.zip
qemu-bede01170e9cb8f9ac9c6a0665ee9f3989a57e6a.tar.gz
qemu-bede01170e9cb8f9ac9c6a0665ee9f3989a57e6a.tar.bz2
hw/arm/virt: Extend nested and mte checks to hvf
The virt machine has properties to enable MTE and Nested Virtualization support. However, its check to ensure the backing accel implementation supports it today only looks for KVM and bails out if it finds it. Extend the checks to HVF as well as it does not support either today. This will cause QEMU to print a useful error message rather than silently ignoring the attempt by the user to enable either MTE or the Virtualization extensions. Reported-by: saar amar <saaramar5@gmail.com> Signed-off-by: Alexander Graf <agraf@csgraf.de> Message-id: 20211123122859.22452-1-agraf@csgraf.de Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm')
-rw-r--r--hw/arm/virt.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 369552a..30da05d 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -49,6 +49,7 @@
#include "sysemu/runstate.h"
#include "sysemu/tpm.h"
#include "sysemu/kvm.h"
+#include "sysemu/hvf.h"
#include "hw/loader.h"
#include "qapi/error.h"
#include "qemu/bitops.h"
@@ -1969,15 +1970,17 @@ static void machvirt_init(MachineState *machine)
exit(1);
}
- if (vms->virt && kvm_enabled()) {
- error_report("mach-virt: KVM does not support providing "
- "Virtualization extensions to the guest CPU");
+ if (vms->virt && (kvm_enabled() || hvf_enabled())) {
+ error_report("mach-virt: %s does not support providing "
+ "Virtualization extensions to the guest CPU",
+ kvm_enabled() ? "KVM" : "HVF");
exit(1);
}
- if (vms->mte && kvm_enabled()) {
- error_report("mach-virt: KVM does not support providing "
- "MTE to the guest CPU");
+ if (vms->mte && (kvm_enabled() || hvf_enabled())) {
+ error_report("mach-virt: %s does not support providing "
+ "MTE to the guest CPU",
+ kvm_enabled() ? "KVM" : "HVF");
exit(1);
}