On 2025/01/28 22:54, Philippe Mathieu-Daudé wrote:
GICv3 isn't supported on aarch64/HVF, but GICv2 is.
Commit bdb0ade663c7 ("tests/migration-test: Stick with gicv3 in aarch64
test"), which set gic-version=3, says:
> 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.
So I think we should always set gic-version=2 so that gic-version will
not vary with hosts.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
RFC: Test eventually timeouts :(
tests/qtest/migration/framework.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/qtest/migration/framework.c
b/tests/qtest/migration/framework.c
index 5629b8ba4e3..30808de14e0 100644
--- a/tests/qtest/migration/framework.c
+++ b/tests/qtest/migration/framework.c
@@ -266,7 +266,7 @@ int migrate_start(QTestState **from, QTestState **to, const
char *uri,
} else if (strcmp(arch, "aarch64") == 0) {
memory_size = "150M";
machine_alias = "virt";
- machine_opts = "gic-version=3";
+ machine_opts = env->has_hvf ? "gic-version=2" : "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;
@@ -303,6 +303,8 @@ int migrate_start(QTestState **from, QTestState **to, const
char *uri,
} else {
accel_args = "kvm";
}
+ } else if (env->has_hvf) {
+ accel_args = "hvf";
} else {
assert(env->has_tcg);
accel_args = "tcg";