On 07/02/2024 01.54, pet...@redhat.com wrote:
From: Peter Xu <pet...@redhat.com>

Recently we introduced cross-binary migration test.  It's always wanted
that migration-test uses stable guest ABI for both QEMU binaries in this
case, so that both QEMU binaries will be compatible on the migration
stream with the cmdline specified.

Switch to a static gic version "3" rather than using version "max", so that
GIC should be stable now across any future QEMU binaries for migration-test.

Here the version can actually be anything as long as the ABI is stable.  We
choose "3" because it's the majority of what we already use in QEMU while
still new enough: "git grep gic-version=3" shows 6 hit, while version 4 has
no direct user yet besides "max".

Note that even with this change, aarch64 won't be able to work yet with
migration cross binary test, but then the only missing piece will be the
stable CPU model.

Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Peter Xu <pet...@redhat.com>
---
  tests/qtest/migration-test.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 7675519cfa..8a5bb1752e 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -819,7 +819,7 @@ static int test_migrate_start(QTestState **from, QTestState 
**to,
      } else if (strcmp(arch, "aarch64") == 0) {
          memory_size = "150M";
          machine_alias = "virt";
-        machine_opts = "gic-version=max";
+        machine_opts = "gic-version=3";
          arch_opts = g_strdup_printf("-cpu max -kernel %s", bootpath);
          start_address = ARM_TEST_MEM_START;
          end_address = ARM_TEST_MEM_END;

Looks like the migration test now fails on aarch64 when "configure" has been run with "--without-default-devices", since that disables the gicv3 in the binary ... is there a way to check whether the gicv3 is available, and use "=max" instead if it is not?

 Thomas


Reply via email to