Message ID | 20211123122859.22452-1-agraf@csgraf.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/arm/virt: Extend nested and mte checks to hvf | expand |
On Tue, 23 Nov 2021 at 12:29, Alexander Graf <agraf@csgraf.de> wrote: > > 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. > > Reported-by: saar amar <saaramar5@gmail.com> > Signed-off-by: Alexander Graf <agraf@csgraf.de> Without this check, what happens if you try to enable both eg virtualization and hvf? Crash, unhelpful error message, something else? thanks -- PMM
On 23.11.21 13:34, Peter Maydell wrote: > On Tue, 23 Nov 2021 at 12:29, Alexander Graf <agraf@csgraf.de> wrote: >> 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. >> >> Reported-by: saar amar <saaramar5@gmail.com> >> Signed-off-by: Alexander Graf <agraf@csgraf.de> > Without this check, what happens if you try to enable > both eg virtualization and hvf? Crash, unhelpful error > message, something else? The guest just never gets either feature enabled. No crash, no error message. Alex
On Tue, 23 Nov 2021 at 14:00, Alexander Graf <agraf@csgraf.de> wrote: > > > On 23.11.21 13:34, Peter Maydell wrote: > > On Tue, 23 Nov 2021 at 12:29, Alexander Graf <agraf@csgraf.de> wrote: > >> 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. > >> > >> Reported-by: saar amar <saaramar5@gmail.com> > >> Signed-off-by: Alexander Graf <agraf@csgraf.de> > > Without this check, what happens if you try to enable > > both eg virtualization and hvf? Crash, unhelpful error > > message, something else? > > > The guest just never gets either feature enabled. No crash, no error > message. Thanks; I've added that info to the commit message and applied this to target-arm.next for 6.2. -- PMM
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 369552ad45..30da05dfe0 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); }
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. Reported-by: saar amar <saaramar5@gmail.com> Signed-off-by: Alexander Graf <agraf@csgraf.de> --- hw/arm/virt.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)