qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 5/6] qtest/arm-cpu-features: Check TCG availability at runtim


From: Paolo Bonzini
Subject: Re: [PATCH 5/6] qtest/arm-cpu-features: Check TCG availability at runtime
Date: Fri, 12 Mar 2021 10:05:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

On 12/03/21 00:12, Philippe Mathieu-Daudé wrote:
Now than we can probe if the TCG accelerator is available
at runtime with a QMP command, skip these TCG specific tests
when TCG is not built into the QEMU binary.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
  tests/qtest/arm-cpu-features.c | 23 +++++++++++++++++++----
  1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
index 2b70104515d..7acdccd10ef 100644
--- a/tests/qtest/arm-cpu-features.c
+++ b/tests/qtest/arm-cpu-features.c
@@ -20,7 +20,7 @@
   */
  #define SVE_MAX_VQ 16
-#define MACHINE "-machine virt,gic-version=max -accel tcg "
+#define MACHINE_TCG "-machine virt,gic-version=max -accel tcg "
  #define MACHINE_KVM "-machine virt,gic-version=max -accel kvm "
  #define QUERY_HEAD  "{ 'execute': 'query-cpu-model-expansion', " \
                      "  'arguments': { 'type': 'full', "
@@ -352,7 +352,11 @@ static void sve_tests_sve_max_vq_8(const void *data)
  {
      QTestState *qts;
- qts = qtest_init(MACHINE "-cpu max,sve-max-vq=8");
+    qts = qtest_init(MACHINE_TCG "-cpu max,sve-max-vq=8");
+    if (!qtest_probe_accel(qts, "tcg")) {
+        g_test_skip("TCG not available, skipping test");
+        goto done;

... and likewise here probing seems unnecessary.

Paolo

+    }
assert_sve_vls(qts, "max", BIT_ULL(8) - 1, NULL); @@ -380,6 +384,7 @@ static void sve_tests_sve_max_vq_8(const void *data)
      assert_sve_vls(qts, "max", 0xff, "{ 'sve256': true }");
      assert_error(qts, "max", "cannot disable sve256", "{ 'sve256': false }");
+done:
      qtest_quit(qts);
  }
@@ -387,7 +392,11 @@ static void sve_tests_sve_off(const void *data)
  {
      QTestState *qts;
- qts = qtest_init(MACHINE "-cpu max,sve=off");
+    qts = qtest_init(MACHINE_TCG "-cpu max,sve=off");
+    if (!qtest_probe_accel(qts, "tcg")) {
+        g_test_skip("TCG not available, skipping test");
+        goto done;
+    }
/* SVE is off, so the map should be empty. */
      assert_sve_vls(qts, "max", 0, NULL);
@@ -405,6 +414,7 @@ static void sve_tests_sve_off(const void *data)
      assert_sve_vls(qts, "max", 0x3,
                     "{ 'sve': true, 'sve128': true, 'sve256': true }");
+done:
      qtest_quit(qts);
  }
@@ -448,7 +458,11 @@ static void test_query_cpu_model_expansion(const void *data)
  {
      QTestState *qts;
- qts = qtest_init(MACHINE "-cpu max");
+    qts = qtest_init(MACHINE_TCG "-cpu max");
+    if (!qtest_probe_accel(qts, "tcg")) {
+        g_test_skip("TCG not available, skipping test");
+        goto done;
+    }
/* Test common query-cpu-model-expansion input validation */
      assert_type_full(qts);
@@ -489,6 +503,7 @@ static void test_query_cpu_model_expansion(const void *data)
                       "{ 'aarch64': false }");
      }
+done:
      qtest_quit(qts);
  }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]