diff mbox series

[RFC,6/7] tests/qtest/migration: Run aarch64/HVF tests using GICv2

Message ID 20250128135429.8500-7-philmd@linaro.org
State New
Headers show
Series tests/qtest/migration: Update framework to allow using HVF accelerator | expand

Commit Message

Philippe Mathieu-Daudé Jan. 28, 2025, 1:54 p.m. UTC
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(-)

Comments

Akihiko Odaki Jan. 29, 2025, 5:39 a.m. UTC | #1
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 mbox series

Patch

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";