Message ID | 20221221092850.61332-3-agraf@csgraf.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/arm/virt: Handle HVF in finalize_gic_version() | expand |
On 21/12/22 10:28, Alexander Graf wrote: > Let's explicitly list out all accelerators that we support when trying to > determine the supported set of GIC versions. KVM was already separate, so > the only missing one is HVF which simply reuses all of TCG's emulation > code and thus has the same compatibility matrix. > > Signed-off-by: Alexander Graf <agraf@csgraf.de> > > --- > > v1 -> v2: > > - Include TCG header for tcg_enabled() > --- > hw/arm/virt.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On Wed, Dec 21 2022, Alexander Graf <agraf@csgraf.de> wrote: > Let's explicitly list out all accelerators that we support when trying to > determine the supported set of GIC versions. KVM was already separate, so > the only missing one is HVF which simply reuses all of TCG's emulation > code and thus has the same compatibility matrix. > > Signed-off-by: Alexander Graf <agraf@csgraf.de> > > --- > > v1 -> v2: > > - Include TCG header for tcg_enabled() > --- > hw/arm/virt.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) Reviewed-by: Cornelia Huck <cohuck@redhat.com>
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 7b54387958..76d8d5cc5a 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -47,6 +47,7 @@ #include "sysemu/numa.h" #include "sysemu/runstate.h" #include "sysemu/tpm.h" +#include "sysemu/tcg.h" #include "sysemu/kvm.h" #include "sysemu/hvf.h" #include "hw/loader.h" @@ -1930,7 +1931,7 @@ static void finalize_gic_version(VirtMachineState *vms) /* KVM w/o kernel irqchip can only deal with GICv2 */ gics_supported |= VIRT_GIC_VERSION_2_MASK; accel_name = "KVM with kernel-irqchip=off"; - } else { + } else if (tcg_enabled() || hvf_enabled()) { gics_supported |= VIRT_GIC_VERSION_2_MASK; if (module_object_class_by_name("arm-gicv3")) { gics_supported |= VIRT_GIC_VERSION_3_MASK; @@ -1939,6 +1940,9 @@ static void finalize_gic_version(VirtMachineState *vms) gics_supported |= VIRT_GIC_VERSION_4_MASK; } } + } else { + error_report("Unsupported accelerator, can not determine GIC support"); + exit(1); } /*
Let's explicitly list out all accelerators that we support when trying to determine the supported set of GIC versions. KVM was already separate, so the only missing one is HVF which simply reuses all of TCG's emulation code and thus has the same compatibility matrix. Signed-off-by: Alexander Graf <agraf@csgraf.de> --- v1 -> v2: - Include TCG header for tcg_enabled() --- hw/arm/virt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)