Message ID | 20250128135429.8500-7-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | tests/qtest/migration: Update framework to allow using HVF accelerator | expand |
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é <philmd@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";
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";
GICv3 isn't supported on aarch64/HVF, but GICv2 is. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- RFC: Test eventually timeouts :( tests/qtest/migration/framework.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)