On 8/3/22 19:24, Eric Auger wrote:
In TCG mode, if gic-version=max we always select GICv3 even if
CONFIG_ARM_GICV3_TCG is unset. We shall rather select GICv2.
This also brings the benefit of fixing qos tests errors for tests
using gic-version=max with CONFIG_ARM_GICV3_TCG unset.

Signed-off-by: Eric Auger <eric.au...@redhat.com>

---

v2 -> v3:
- Use module_object_class_by_name() and refer to the renamed
   CONFIG_ARM_GICV3_TCG config
---
  hw/arm/virt.c | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 46bf7ceddf..39790d29d2 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1852,7 +1852,12 @@ static void finalize_gic_version(VirtMachineState *vms)
          vms->gic_version = VIRT_GIC_VERSION_2;
          break;
      case VIRT_GIC_VERSION_MAX:
-        vms->gic_version = VIRT_GIC_VERSION_3;
+        if (module_object_class_by_name("arm-gicv3")) {

Too late, but why not use TYPE_ARM_GICV3?

+            /* CONFIG_ARM_GICV3_TCG was set */
+            vms->gic_version = VIRT_GIC_VERSION_3;
+        } else {
+            vms->gic_version = VIRT_GIC_VERSION_2;
+        }
          break;
      case VIRT_GIC_VERSION_HOST:
          error_report("gic-version=host requires KVM");


Reply via email to