All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels'
@ 2021-05-03 21:10 Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 01/12] MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section Philippe Mathieu-Daudé
                   ` (12 more replies)
  0 siblings, 13 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, qemu-arm, Igor Mammedov, Paolo Bonzini

Missing review: 10-12 (bios-tables-test)

Hi,

This series aims at having accelerator-independent qtests
by querying a QEMU instance at runtime to check the list
of built-in accelerators.

First we add the 'query-accels' QMP command,
then we add the qtest_has_accel() method to libqtest,
finally we use this new method to allow running
bios-tables-test on KVM-only builds.

Since v5:
- Rename bios-tables tests (Igor)
- Do not restrict bios-tables tests to TCG (Igor)
- Reset bios-tables-test R-b tags

Since v4:
- Removed patch 10 (Markus, patch justification not clear)
  'qtest/qmp-cmd-test: Make test build-independent from accelerator'
- Removed patch 12 (Alex, icount / record/replay issue)
  'tests/meson: Only build softfloat objects if TCG is selected (again)'
- Sorted @Accelerator QAPI enum (Eric)
- Added R-b/T-b

Since v3:
- Added Markus review comments
- Added R-b/A-b tags

Since v2:
- Addressed Markus & Drew review comments
- Added qtest/migration-test patch

Since v1:
- Addressed Eric & Paolo review comments

Since v0:
- kept over-engineered union (I don't how to do simple enum)
- dropped arm-cpu-features patches for now
- fixed typos (Eric)
- rename qtest_has_accel (Thomas)
- probe accel with machine none previous qtest (Paolo)
- iterate over QAPI enum (Markus)

Eric's suggestion of conditional QAPI didn't worked out,
as accelerator definitions are poisoned.

Phil.

Philippe Mathieu-Daudé (12):
  MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section
  accel: Introduce 'query-accels' QMP command
  qtest: Add qtest_has_accel() method
  qtest/arm-cpu-features: Use generic qtest_has_accel() to check for KVM
  qtest/arm-cpu-features: Restrict sve_tests_sve_off_kvm test to KVM
  qtest/arm-cpu-features: Remove TCG fallback to KVM specific tests
  qtest/arm-cpu-features: Use generic qtest_has_accel() to check for TCG
  qtest/migration-test: Skip tests if KVM not builtin on s390x/ppc64
  qtest/bios-tables-test: Rename tests not TCG specific
  qtest/bios-tables-test: Rename TCG specific tests
  qtest/bios-tables-test: Make test build-independent from accelerator
  qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore

 qapi/machine.json              |  47 ++++++++++
 tests/qtest/libqos/libqtest.h  |   8 ++
 accel/accel-qmp.c              |  49 +++++++++++
 tests/qtest/arm-cpu-features.c |  55 ++++--------
 tests/qtest/bios-tables-test.c | 156 ++++++++++++++++-----------------
 tests/qtest/libqtest.c         |  29 ++++++
 tests/qtest/migration-test.c   |   4 +-
 MAINTAINERS                    |   1 +
 accel/meson.build              |   2 +-
 tests/qtest/meson.build        |   3 +-
 10 files changed, 232 insertions(+), 122 deletions(-)
 create mode 100644 accel/accel-qmp.c

-- 
2.26.3




^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v6 01/12] MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 02/12] accel: Introduce 'query-accels' QMP command Philippe Mathieu-Daudé
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Andrew Jones, Michael S. Tsirkin,
	Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Igor Mammedov,
	Paolo Bonzini

We want the ARM maintainers and the qemu-arm@ list to be
notified when this file is modified. Add an entry to the
'ARM TCG CPUs' section in the MAINTAINERS file.

Acked-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 4c05ff8bbab..5f1f59f9b3c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -156,6 +156,7 @@ S: Maintained
 F: target/arm/
 F: tests/tcg/arm/
 F: tests/tcg/aarch64/
+F: tests/qtest/arm-cpu-features.c
 F: hw/arm/
 F: hw/cpu/a*mpcore.c
 F: include/hw/cpu/a*mpcore.h
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 02/12] accel: Introduce 'query-accels' QMP command
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 01/12] MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 03/12] qtest: Add qtest_has_accel() method Philippe Mathieu-Daudé
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Eduardo Habkost, Michael S. Tsirkin,
	Philippe Mathieu-Daudé,
	Richard Henderson, Markus Armbruster, Alex Bennée, qemu-arm,
	Igor Mammedov, Paolo Bonzini

Introduce the 'query-accels' QMP command which returns a list
of built-in accelerator names.

- Accelerator is a QAPI enum of all existing accelerators,

- AcceleratorInfo is a QAPI structure providing accelerator
  specific information. Currently the common structure base
  provides the name of the accelerator, while the specific
  part is empty, but each accelerator can expand it.

- 'query-accels' QMP command returns a list of @AcceleratorInfo

For example on a KVM-only build we get:

    { "execute": "query-accels" }
    {
        "return": [
            {
                "name": "qtest"
            },
            {
                "name": "kvm"
            }
        ]
    }

Note that we can't make the enum values or union branches conditional
because of target-specific poisoning of accelerator definitions.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 qapi/machine.json | 47 +++++++++++++++++++++++++++++++++++++++++++++
 accel/accel-qmp.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++
 accel/meson.build |  2 +-
 3 files changed, 97 insertions(+), 1 deletion(-)
 create mode 100644 accel/accel-qmp.c

diff --git a/qapi/machine.json b/qapi/machine.json
index 6e90d463fc9..6dd3b765248 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -1274,3 +1274,50 @@
 ##
 { 'event': 'MEM_UNPLUG_ERROR',
   'data': { 'device': 'str', 'msg': 'str' } }
+
+##
+# @Accelerator:
+#
+# An enumeration of accelerator names.
+#
+# Since: 6.1
+##
+{ 'enum': 'Accelerator',
+  'data': [ 'hax', 'hvf', 'kvm', 'qtest', 'tcg', 'whpx', 'xen' ] }
+
+##
+# @AcceleratorInfo:
+#
+# Accelerator information.
+#
+# @name: The accelerator name.
+#
+# Since: 6.1
+##
+{ 'struct': 'AcceleratorInfo',
+  'data': { 'name': 'Accelerator' } }
+
+##
+# @query-accels:
+#
+# Get a list of AcceleratorInfo for all built-in accelerators.
+#
+# Returns: a list of @AcceleratorInfo describing each accelerator.
+#
+# Since: 6.1
+#
+# Example:
+#
+# -> { "execute": "query-accels" }
+# <- { "return": [
+#        {
+#            "name": "qtest"
+#        },
+#        {
+#            "name": "kvm"
+#        }
+#    ] }
+#
+##
+{ 'command': 'query-accels',
+  'returns': ['AcceleratorInfo'] }
diff --git a/accel/accel-qmp.c b/accel/accel-qmp.c
new file mode 100644
index 00000000000..426737b3f9a
--- /dev/null
+++ b/accel/accel-qmp.c
@@ -0,0 +1,49 @@
+/*
+ * QEMU accelerators, QMP commands
+ *
+ * Copyright (c) 2021 Red Hat Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "qapi/qapi-commands-machine.h"
+
+static const bool accel_builtin_list[ACCELERATOR__MAX] = {
+    [ACCELERATOR_QTEST] = true,
+#ifdef CONFIG_TCG
+    [ACCELERATOR_TCG] = true,
+#endif
+#ifdef CONFIG_KVM
+    [ACCELERATOR_KVM] = true,
+#endif
+#ifdef CONFIG_HAX
+    [ACCELERATOR_HAX] = true,
+#endif
+#ifdef CONFIG_HVF
+    [ACCELERATOR_HVF] = true,
+#endif
+#ifdef CONFIG_WHPX
+    [ACCELERATOR_WHPX] = true,
+#endif
+#ifdef CONFIG_XEN_BACKEND
+    [ACCELERATOR_XEN] = true,
+#endif
+};
+
+AcceleratorInfoList *qmp_query_accels(Error **errp)
+{
+    AcceleratorInfoList *list = NULL, **tail = &list;
+
+    for (Accelerator accel = 0; accel < ACCELERATOR__MAX; accel++) {
+        if (accel_builtin_list[accel]) {
+            AcceleratorInfo *info = g_new0(AcceleratorInfo, 1);
+
+            info->name = accel;
+
+            QAPI_LIST_APPEND(tail, info);
+        }
+    }
+
+    return list;
+}
diff --git a/accel/meson.build b/accel/meson.build
index b44ba30c864..7a48f6d568d 100644
--- a/accel/meson.build
+++ b/accel/meson.build
@@ -1,4 +1,4 @@
-specific_ss.add(files('accel-common.c'))
+specific_ss.add(files('accel-common.c', 'accel-qmp.c'))
 softmmu_ss.add(files('accel-softmmu.c'))
 user_ss.add(files('accel-user.c'))
 
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 03/12] qtest: Add qtest_has_accel() method
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 01/12] MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 02/12] accel: Introduce 'query-accels' QMP command Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 04/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for KVM Philippe Mathieu-Daudé
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Michael S. Tsirkin,
	Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Igor Mammedov,
	Paolo Bonzini

Introduce the qtest_has_accel() method which allows a runtime
query on whether a QEMU instance has an accelerator built-in.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/libqos/libqtest.h |  8 ++++++++
 tests/qtest/libqtest.c        | 29 +++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/tests/qtest/libqos/libqtest.h b/tests/qtest/libqos/libqtest.h
index a68dcd79d44..d80c618c18d 100644
--- a/tests/qtest/libqos/libqtest.h
+++ b/tests/qtest/libqos/libqtest.h
@@ -763,6 +763,14 @@ void qmp_expect_error_and_unref(QDict *rsp, const char *class);
  */
 bool qtest_probe_child(QTestState *s);
 
+/**
+ * qtest_has_accel:
+ * @accel_name: Accelerator name to check for.
+ *
+ * Returns: true if the accelerator is built in.
+ */
+bool qtest_has_accel(const char *accel_name);
+
 /**
  * qtest_set_expected_status:
  * @s: QTestState instance to operate on.
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index 71e359efcd3..2156b7e3972 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -393,6 +393,35 @@ QTestState *qtest_init_with_serial(const char *extra_args, int *sock_fd)
     return qts;
 }
 
+bool qtest_has_accel(const char *accel_name)
+{
+    bool has_accel = false;
+    QDict *response;
+    QList *accels;
+    QListEntry *accel;
+    QTestState *qts;
+
+    qts = qtest_initf("-accel qtest -machine none");
+    response = qtest_qmp(qts, "{'execute': 'query-accels'}");
+    accels = qdict_get_qlist(response, "return");
+
+    QLIST_FOREACH_ENTRY(accels, accel) {
+        QDict *accel_dict = qobject_to(QDict, qlist_entry_obj(accel));
+        const char *name = qdict_get_str(accel_dict, "name");
+
+        if (g_str_equal(name, accel_name)) {
+            has_accel = true;
+            break;
+        }
+    }
+    qobject_unref(response);
+
+    qtest_quit(qts);
+
+    return has_accel;
+}
+
+
 void qtest_quit(QTestState *s)
 {
     qtest_remove_abrt_handler(s);
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 04/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for KVM
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 03/12] qtest: Add qtest_has_accel() method Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 05/12] qtest/arm-cpu-features: Restrict sve_tests_sve_off_kvm test to KVM Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Peter Maydell, Thomas Huth, Andrew Jones,
	Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Claudio Fontana,
	Igor Mammedov, Paolo Bonzini

Use the recently added generic qtest_has_accel() method to
check if KVM is available.

Suggested-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/arm-cpu-features.c | 25 +------------------------
 1 file changed, 1 insertion(+), 24 deletions(-)

diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
index 8252b85bb85..7f4b2521277 100644
--- a/tests/qtest/arm-cpu-features.c
+++ b/tests/qtest/arm-cpu-features.c
@@ -26,21 +26,6 @@
                     "  'arguments': { 'type': 'full', "
 #define QUERY_TAIL  "}}"
 
-static bool kvm_enabled(QTestState *qts)
-{
-    QDict *resp, *qdict;
-    bool enabled;
-
-    resp = qtest_qmp(qts, "{ 'execute': 'query-kvm' }");
-    g_assert(qdict_haskey(resp, "return"));
-    qdict = qdict_get_qdict(resp, "return");
-    g_assert(qdict_haskey(qdict, "enabled"));
-    enabled = qdict_get_bool(qdict, "enabled");
-    qobject_unref(resp);
-
-    return enabled;
-}
-
 static QDict *do_query_no_props(QTestState *qts, const char *cpu_type)
 {
     return qtest_qmp(qts, QUERY_HEAD "'model': { 'name': %s }"
@@ -493,14 +478,6 @@ static void test_query_cpu_model_expansion_kvm(const void *data)
 
     qts = qtest_init(MACHINE_KVM "-cpu max");
 
-    /*
-     * These tests target the 'host' CPU type, so KVM must be enabled.
-     */
-    if (!kvm_enabled(qts)) {
-        qtest_quit(qts);
-        return;
-    }
-
     /* Enabling and disabling kvm-no-adjvtime should always work. */
     assert_has_feature_disabled(qts, "host", "kvm-no-adjvtime");
     assert_set_feature(qts, "host", "kvm-no-adjvtime", true);
@@ -624,7 +601,7 @@ int main(int argc, char **argv)
      * order avoid attempting to run an AArch32 QEMU with KVM on
      * AArch64 hosts. That won't work and isn't easy to detect.
      */
-    if (g_str_equal(qtest_get_arch(), "aarch64")) {
+    if (g_str_equal(qtest_get_arch(), "aarch64") && qtest_has_accel("kvm")) {
         qtest_add_data_func("/arm/kvm/query-cpu-model-expansion",
                             NULL, test_query_cpu_model_expansion_kvm);
     }
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 05/12] qtest/arm-cpu-features: Restrict sve_tests_sve_off_kvm test to KVM
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 04/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for KVM Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 06/12] qtest/arm-cpu-features: Remove TCG fallback to KVM specific tests Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Peter Maydell, Thomas Huth, Andrew Jones,
	Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Igor Mammedov,
	Paolo Bonzini

The sve_tests_sve_off_kvm() test is KVM specific.
Only run it if KVM is available.

Suggested-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/arm-cpu-features.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
index 7f4b2521277..66300c3bc20 100644
--- a/tests/qtest/arm-cpu-features.c
+++ b/tests/qtest/arm-cpu-features.c
@@ -604,6 +604,8 @@ int main(int argc, char **argv)
     if (g_str_equal(qtest_get_arch(), "aarch64") && qtest_has_accel("kvm")) {
         qtest_add_data_func("/arm/kvm/query-cpu-model-expansion",
                             NULL, test_query_cpu_model_expansion_kvm);
+        qtest_add_data_func("/arm/kvm/query-cpu-model-expansion/sve-off",
+                            NULL, sve_tests_sve_off_kvm);
     }
 
     if (g_str_equal(qtest_get_arch(), "aarch64")) {
@@ -611,8 +613,6 @@ int main(int argc, char **argv)
                             NULL, sve_tests_sve_max_vq_8);
         qtest_add_data_func("/arm/max/query-cpu-model-expansion/sve-off",
                             NULL, sve_tests_sve_off);
-        qtest_add_data_func("/arm/kvm/query-cpu-model-expansion/sve-off",
-                            NULL, sve_tests_sve_off_kvm);
     }
 
     return g_test_run();
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 06/12] qtest/arm-cpu-features: Remove TCG fallback to KVM specific tests
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 05/12] qtest/arm-cpu-features: Restrict sve_tests_sve_off_kvm test to KVM Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 07/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for TCG Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Peter Maydell, Thomas Huth, Andrew Jones,
	Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Igor Mammedov,
	Paolo Bonzini

sve_tests_sve_off_kvm() and test_query_cpu_model_expansion_kvm()
tests are now only being run if KVM is available. Drop the TCG
fallback.

Suggested-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/arm-cpu-features.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
index 66300c3bc20..b1d406542f7 100644
--- a/tests/qtest/arm-cpu-features.c
+++ b/tests/qtest/arm-cpu-features.c
@@ -21,7 +21,7 @@
 #define SVE_MAX_VQ 16
 
 #define MACHINE     "-machine virt,gic-version=max -accel tcg "
-#define MACHINE_KVM "-machine virt,gic-version=max -accel kvm -accel tcg "
+#define MACHINE_KVM "-machine virt,gic-version=max -accel kvm "
 #define QUERY_HEAD  "{ 'execute': 'query-cpu-model-expansion', " \
                     "  'arguments': { 'type': 'full', "
 #define QUERY_TAIL  "}}"
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 07/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for TCG
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 06/12] qtest/arm-cpu-features: Remove TCG fallback to KVM specific tests Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 08/12] qtest/migration-test: Skip tests if KVM not builtin on s390x/ppc64 Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Peter Maydell, Thomas Huth, Andrew Jones,
	Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Igor Mammedov,
	Paolo Bonzini

Now than we can probe if the TCG accelerator is available
at runtime with a QMP command, only run these tests if TCG
is built into the QEMU binary.

Suggested-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/arm-cpu-features.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
index b1d406542f7..0d9145dd168 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', "
@@ -337,7 +337,7 @@ 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");
 
     assert_sve_vls(qts, "max", BIT_ULL(8) - 1, NULL);
 
@@ -372,7 +372,7 @@ 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");
 
     /* SVE is off, so the map should be empty. */
     assert_sve_vls(qts, "max", 0, NULL);
@@ -428,7 +428,7 @@ 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");
 
     /* Test common query-cpu-model-expansion input validation */
     assert_type_full(qts);
@@ -593,8 +593,10 @@ int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
 
-    qtest_add_data_func("/arm/query-cpu-model-expansion",
-                        NULL, test_query_cpu_model_expansion);
+    if (qtest_has_accel("tcg")) {
+        qtest_add_data_func("/arm/query-cpu-model-expansion",
+                            NULL, test_query_cpu_model_expansion);
+    }
 
     /*
      * For now we only run KVM specific tests with AArch64 QEMU in
@@ -608,7 +610,7 @@ int main(int argc, char **argv)
                             NULL, sve_tests_sve_off_kvm);
     }
 
-    if (g_str_equal(qtest_get_arch(), "aarch64")) {
+    if (g_str_equal(qtest_get_arch(), "aarch64") && qtest_has_accel("tcg")) {
         qtest_add_data_func("/arm/max/query-cpu-model-expansion/sve-max-vq-8",
                             NULL, sve_tests_sve_max_vq_8);
         qtest_add_data_func("/arm/max/query-cpu-model-expansion/sve-off",
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 08/12] qtest/migration-test: Skip tests if KVM not builtin on s390x/ppc64
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 07/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for TCG Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:10 ` [PATCH v6 09/12] qtest/bios-tables-test: Rename tests not TCG specific Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Michael S. Tsirkin,
	Philippe Mathieu-Daudé,
	Cornelia Huck, Markus Armbruster, Greg Kurz, Alex Bennée,
	Juan Quintela, qemu-arm, Igor Mammedov, Paolo Bonzini,
	Dr. David Alan Gilbert, David Gibson

We might have a s390x/ppc64 QEMU binary built without the KVM
accelerator (configured with --disable-kvm).
Checking for /dev/kvm accessibility isn't enough, also check for the
accelerator in the binary.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/migration-test.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 3a711bb4929..c32a2aa30a2 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -1408,7 +1408,7 @@ int main(int argc, char **argv)
      */
     if (g_str_equal(qtest_get_arch(), "ppc64") &&
         (access("/sys/module/kvm_hv", F_OK) ||
-         access("/dev/kvm", R_OK | W_OK))) {
+         access("/dev/kvm", R_OK | W_OK) || !qtest_has_accel("kvm"))) {
         g_test_message("Skipping test: kvm_hv not available");
         return g_test_run();
     }
@@ -1419,7 +1419,7 @@ int main(int argc, char **argv)
      */
     if (g_str_equal(qtest_get_arch(), "s390x")) {
 #if defined(HOST_S390X)
-        if (access("/dev/kvm", R_OK | W_OK)) {
+        if (access("/dev/kvm", R_OK | W_OK) || !qtest_has_accel("kvm")) {
             g_test_message("Skipping test: kvm not available");
             return g_test_run();
         }
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 09/12] qtest/bios-tables-test: Rename tests not TCG specific
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 08/12] qtest/migration-test: Skip tests if KVM not builtin on s390x/ppc64 Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-05 12:31   ` Igor Mammedov
  2021-05-03 21:10 ` [PATCH v6 10/12] qtest/bios-tables-test: Rename TCG specific tests Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  12 siblings, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, qemu-arm, Igor Mammedov, Paolo Bonzini

Various tests don't require TCG, but have '_tcg' in their name.
As this is misleading, remove 'tcg' from their name.

Reported-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/bios-tables-test.c | 142 ++++++++++++++++-----------------
 1 file changed, 71 insertions(+), 71 deletions(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 156d4174aa3..ce498b3ff48 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -753,7 +753,7 @@ static uint8_t base_required_struct_types[] = {
     0, 1, 3, 4, 16, 17, 19, 32, 127
 };
 
-static void test_acpi_piix4_tcg(void)
+static void test_acpi_piix4(void)
 {
     test_data data;
 
@@ -768,7 +768,7 @@ static void test_acpi_piix4_tcg(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_bridge(void)
+static void test_acpi_piix4_bridge(void)
 {
     test_data data;
 
@@ -824,7 +824,7 @@ static void test_acpi_piix4_no_acpi_pci_hotplug(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg(void)
+static void test_acpi_q35(void)
 {
     test_data data;
 
@@ -841,7 +841,7 @@ static void test_acpi_q35_tcg(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_bridge(void)
+static void test_acpi_q35_bridge(void)
 {
     test_data data;
 
@@ -855,7 +855,7 @@ static void test_acpi_q35_tcg_bridge(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_mmio64(void)
+static void test_acpi_q35_mmio64(void)
 {
     test_data data = {
         .machine = MACHINE_Q35,
@@ -872,7 +872,7 @@ static void test_acpi_q35_tcg_mmio64(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_cphp(void)
+static void test_acpi_piix4_cphp(void)
 {
     test_data data;
 
@@ -888,7 +888,7 @@ static void test_acpi_piix4_tcg_cphp(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_cphp(void)
+static void test_acpi_q35_cphp(void)
 {
     test_data data;
 
@@ -908,7 +908,7 @@ static uint8_t ipmi_required_struct_types[] = {
     0, 1, 3, 4, 16, 17, 19, 32, 38, 127
 };
 
-static void test_acpi_q35_tcg_ipmi(void)
+static void test_acpi_q35_ipmi(void)
 {
     test_data data;
 
@@ -923,7 +923,7 @@ static void test_acpi_q35_tcg_ipmi(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_ipmi(void)
+static void test_acpi_piix4_ipmi(void)
 {
     test_data data;
 
@@ -941,7 +941,7 @@ static void test_acpi_piix4_tcg_ipmi(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_memhp(void)
+static void test_acpi_q35_memhp(void)
 {
     test_data data;
 
@@ -957,7 +957,7 @@ static void test_acpi_q35_tcg_memhp(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_memhp(void)
+static void test_acpi_piix4_memhp(void)
 {
     test_data data;
 
@@ -973,7 +973,7 @@ static void test_acpi_piix4_tcg_memhp(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_nosmm(void)
+static void test_acpi_piix4_nosmm(void)
 {
     test_data data;
 
@@ -984,7 +984,7 @@ static void test_acpi_piix4_tcg_nosmm(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_smm_compat(void)
+static void test_acpi_piix4_smm_compat(void)
 {
     test_data data;
 
@@ -995,7 +995,7 @@ static void test_acpi_piix4_tcg_smm_compat(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_smm_compat_nosmm(void)
+static void test_acpi_piix4_smm_compat_nosmm(void)
 {
     test_data data;
 
@@ -1006,7 +1006,7 @@ static void test_acpi_piix4_tcg_smm_compat_nosmm(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_nohpet(void)
+static void test_acpi_piix4_nohpet(void)
 {
     test_data data;
 
@@ -1017,7 +1017,7 @@ static void test_acpi_piix4_tcg_nohpet(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_numamem(void)
+static void test_acpi_q35_numamem(void)
 {
     test_data data;
 
@@ -1029,7 +1029,7 @@ static void test_acpi_q35_tcg_numamem(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_nosmm(void)
+static void test_acpi_q35_nosmm(void)
 {
     test_data data;
 
@@ -1040,7 +1040,7 @@ static void test_acpi_q35_tcg_nosmm(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_smm_compat(void)
+static void test_acpi_q35_smm_compat(void)
 {
     test_data data;
 
@@ -1051,7 +1051,7 @@ static void test_acpi_q35_tcg_smm_compat(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_smm_compat_nosmm(void)
+static void test_acpi_q35_smm_compat_nosmm(void)
 {
     test_data data;
 
@@ -1062,7 +1062,7 @@ static void test_acpi_q35_tcg_smm_compat_nosmm(void)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_nohpet(void)
+static void test_acpi_q35_nohpet(void)
 {
     test_data data;
 
@@ -1073,7 +1073,7 @@ static void test_acpi_q35_tcg_nohpet(void)
     free_test_data(&data);
 }
 
-static void test_acpi_piix4_tcg_numamem(void)
+static void test_acpi_piix4_numamem(void)
 {
     test_data data;
 
@@ -1087,11 +1087,11 @@ static void test_acpi_piix4_tcg_numamem(void)
 
 uint64_t tpm_tis_base_addr;
 
-static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
+static void test_acpi_tpm(const char *machine, const char *tpm_if,
                               uint64_t base)
 {
 #ifdef CONFIG_TPM
-    gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX",
+    gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_%s.XXXXXX",
                                           machine, tpm_if);
     char *tmp_path = g_dir_make_tmp(tmp_dir_name, NULL);
     TestState test;
@@ -1139,12 +1139,12 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
 #endif
 }
 
-static void test_acpi_q35_tcg_tpm_tis(void)
+static void test_acpi_q35_tpm_tis(void)
 {
-    test_acpi_tcg_tpm("q35", "tis", 0xFED40000);
+    test_acpi_tpm("q35", "tis", 0xFED40000);
 }
 
-static void test_acpi_tcg_dimm_pxm(const char *machine)
+static void test_acpi_dimm_pxm(const char *machine)
 {
     test_data data;
 
@@ -1174,14 +1174,14 @@ static void test_acpi_tcg_dimm_pxm(const char *machine)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_dimm_pxm(void)
+static void test_acpi_q35_dimm_pxm(void)
 {
-    test_acpi_tcg_dimm_pxm(MACHINE_Q35);
+    test_acpi_dimm_pxm(MACHINE_Q35);
 }
 
-static void test_acpi_piix4_tcg_dimm_pxm(void)
+static void test_acpi_piix4_dimm_pxm(void)
 {
-    test_acpi_tcg_dimm_pxm(MACHINE_PC);
+    test_acpi_dimm_pxm(MACHINE_PC);
 }
 
 static void test_acpi_virt_tcg_memhp(void)
@@ -1223,7 +1223,7 @@ static void test_acpi_microvm_prepare(test_data *data)
     data->blkdev = "virtio-blk-device";
 }
 
-static void test_acpi_microvm_tcg(void)
+static void test_acpi_microvm(void)
 {
     test_data data;
 
@@ -1233,7 +1233,7 @@ static void test_acpi_microvm_tcg(void)
     free_test_data(&data);
 }
 
-static void test_acpi_microvm_usb_tcg(void)
+static void test_acpi_microvm_usb(void)
 {
     test_data data;
 
@@ -1244,7 +1244,7 @@ static void test_acpi_microvm_usb_tcg(void)
     free_test_data(&data);
 }
 
-static void test_acpi_microvm_rtc_tcg(void)
+static void test_acpi_microvm_rtc(void)
 {
     test_data data;
 
@@ -1255,7 +1255,7 @@ static void test_acpi_microvm_rtc_tcg(void)
     free_test_data(&data);
 }
 
-static void test_acpi_microvm_pcie_tcg(void)
+static void test_acpi_microvm_pcie(void)
 {
     test_data data;
 
@@ -1267,7 +1267,7 @@ static void test_acpi_microvm_pcie_tcg(void)
     free_test_data(&data);
 }
 
-static void test_acpi_microvm_ioapic2_tcg(void)
+static void test_acpi_microvm_ioapic2(void)
 {
     test_data data;
 
@@ -1332,7 +1332,7 @@ static void test_acpi_virt_tcg_pxb(void)
     free_test_data(&data);
 }
 
-static void test_acpi_tcg_acpi_hmat(const char *machine)
+static void test_acpi_acpi_hmat(const char *machine)
 {
     test_data data;
 
@@ -1364,14 +1364,14 @@ static void test_acpi_tcg_acpi_hmat(const char *machine)
     free_test_data(&data);
 }
 
-static void test_acpi_q35_tcg_acpi_hmat(void)
+static void test_acpi_q35_acpi_hmat(void)
 {
-    test_acpi_tcg_acpi_hmat(MACHINE_Q35);
+    test_acpi_acpi_hmat(MACHINE_Q35);
 }
 
-static void test_acpi_piix4_tcg_acpi_hmat(void)
+static void test_acpi_piix4_acpi_hmat(void)
 {
-    test_acpi_tcg_acpi_hmat(MACHINE_PC);
+    test_acpi_acpi_hmat(MACHINE_PC);
 }
 
 static void test_acpi_virt_tcg(void)
@@ -1512,50 +1512,50 @@ int main(int argc, char *argv[])
             return ret;
         }
         qtest_add_func("acpi/q35/oem-fields", test_acpi_oem_fields_q35);
-        qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis);
-        qtest_add_func("acpi/piix4", test_acpi_piix4_tcg);
+        qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tpm_tis);
+        qtest_add_func("acpi/piix4", test_acpi_piix4);
         qtest_add_func("acpi/oem-fields", test_acpi_oem_fields_pc);
-        qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge);
+        qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_bridge);
         qtest_add_func("acpi/piix4/pci-hotplug/no_root_hotplug",
                        test_acpi_piix4_no_root_hotplug);
         qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug",
                        test_acpi_piix4_no_bridge_hotplug);
         qtest_add_func("acpi/piix4/pci-hotplug/off",
                        test_acpi_piix4_no_acpi_pci_hotplug);
-        qtest_add_func("acpi/q35", test_acpi_q35_tcg);
-        qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge);
-        qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64);
-        qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_tcg_ipmi);
-        qtest_add_func("acpi/q35/ipmi", test_acpi_q35_tcg_ipmi);
-        qtest_add_func("acpi/piix4/cpuhp", test_acpi_piix4_tcg_cphp);
-        qtest_add_func("acpi/q35/cpuhp", test_acpi_q35_tcg_cphp);
-        qtest_add_func("acpi/piix4/memhp", test_acpi_piix4_tcg_memhp);
-        qtest_add_func("acpi/q35/memhp", test_acpi_q35_tcg_memhp);
-        qtest_add_func("acpi/piix4/numamem", test_acpi_piix4_tcg_numamem);
-        qtest_add_func("acpi/q35/numamem", test_acpi_q35_tcg_numamem);
-        qtest_add_func("acpi/piix4/nosmm", test_acpi_piix4_tcg_nosmm);
+        qtest_add_func("acpi/q35", test_acpi_q35);
+        qtest_add_func("acpi/q35/bridge", test_acpi_q35_bridge);
+        qtest_add_func("acpi/q35/mmio64", test_acpi_q35_mmio64);
+        qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_ipmi);
+        qtest_add_func("acpi/q35/ipmi", test_acpi_q35_ipmi);
+        qtest_add_func("acpi/piix4/cpuhp", test_acpi_piix4_cphp);
+        qtest_add_func("acpi/q35/cpuhp", test_acpi_q35_cphp);
+        qtest_add_func("acpi/piix4/memhp", test_acpi_piix4_memhp);
+        qtest_add_func("acpi/q35/memhp", test_acpi_q35_memhp);
+        qtest_add_func("acpi/piix4/numamem", test_acpi_piix4_numamem);
+        qtest_add_func("acpi/q35/numamem", test_acpi_q35_numamem);
+        qtest_add_func("acpi/piix4/nosmm", test_acpi_piix4_nosmm);
         qtest_add_func("acpi/piix4/smm-compat",
-                       test_acpi_piix4_tcg_smm_compat);
+                       test_acpi_piix4_smm_compat);
         qtest_add_func("acpi/piix4/smm-compat-nosmm",
-                       test_acpi_piix4_tcg_smm_compat_nosmm);
-        qtest_add_func("acpi/piix4/nohpet", test_acpi_piix4_tcg_nohpet);
-        qtest_add_func("acpi/q35/nosmm", test_acpi_q35_tcg_nosmm);
+                       test_acpi_piix4_smm_compat_nosmm);
+        qtest_add_func("acpi/piix4/nohpet", test_acpi_piix4_nohpet);
+        qtest_add_func("acpi/q35/nosmm", test_acpi_q35_nosmm);
         qtest_add_func("acpi/q35/smm-compat",
-                       test_acpi_q35_tcg_smm_compat);
+                       test_acpi_q35_smm_compat);
         qtest_add_func("acpi/q35/smm-compat-nosmm",
-                       test_acpi_q35_tcg_smm_compat_nosmm);
-        qtest_add_func("acpi/q35/nohpet", test_acpi_q35_tcg_nohpet);
-        qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_tcg_dimm_pxm);
-        qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm);
-        qtest_add_func("acpi/piix4/acpihmat", test_acpi_piix4_tcg_acpi_hmat);
-        qtest_add_func("acpi/q35/acpihmat", test_acpi_q35_tcg_acpi_hmat);
-        qtest_add_func("acpi/microvm", test_acpi_microvm_tcg);
-        qtest_add_func("acpi/microvm/usb", test_acpi_microvm_usb_tcg);
-        qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc_tcg);
-        qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2_tcg);
+                       test_acpi_q35_smm_compat_nosmm);
+        qtest_add_func("acpi/q35/nohpet", test_acpi_q35_nohpet);
+        qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_dimm_pxm);
+        qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_dimm_pxm);
+        qtest_add_func("acpi/piix4/acpihmat", test_acpi_piix4_acpi_hmat);
+        qtest_add_func("acpi/q35/acpihmat", test_acpi_q35_acpi_hmat);
+        qtest_add_func("acpi/microvm", test_acpi_microvm);
+        qtest_add_func("acpi/microvm/usb", test_acpi_microvm_usb);
+        qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc);
+        qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2);
         qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm);
         if (strcmp(arch, "x86_64") == 0) {
-            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
+            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie);
         }
     } else if (strcmp(arch, "aarch64") == 0) {
         qtest_add_func("acpi/virt", test_acpi_virt_tcg);
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 10/12] qtest/bios-tables-test: Rename TCG specific tests
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 09/12] qtest/bios-tables-test: Rename tests not TCG specific Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-05 12:33   ` Igor Mammedov
  2021-05-03 21:10 ` [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, qemu-arm, Igor Mammedov, Paolo Bonzini

Some tests require TCG, but don't have '_tcg' in their name,
while others do. Unify the test names by adding 'tcg' to the
TCG specific tests.

Reported-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/bios-tables-test.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index ce498b3ff48..ad877baeb1b 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1255,7 +1255,7 @@ static void test_acpi_microvm_rtc(void)
     free_test_data(&data);
 }
 
-static void test_acpi_microvm_pcie(void)
+static void test_acpi_microvm_pcie_tcg(void)
 {
     test_data data;
 
@@ -1475,7 +1475,7 @@ static void test_acpi_oem_fields_microvm(void)
     g_free(args);
 }
 
-static void test_acpi_oem_fields_virt(void)
+static void test_acpi_oem_fields_virt_tcg(void)
 {
     test_data data = {
         .machine = "virt",
@@ -1555,14 +1555,14 @@ int main(int argc, char *argv[])
         qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2);
         qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm);
         if (strcmp(arch, "x86_64") == 0) {
-            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie);
+            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
         }
     } else if (strcmp(arch, "aarch64") == 0) {
         qtest_add_func("acpi/virt", test_acpi_virt_tcg);
         qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
         qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
         qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb);
-        qtest_add_func("acpi/virt/oem-fields", test_acpi_oem_fields_virt);
+        qtest_add_func("acpi/virt/oem-fields", test_acpi_oem_fields_virt_tcg);
     }
     ret = g_test_run();
     boot_sector_cleanup(disk);
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (9 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 10/12] qtest/bios-tables-test: Rename TCG specific tests Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-03 21:19   ` Eric Blake
  2021-05-05 12:36   ` Igor Mammedov
  2021-05-03 21:10 ` [PATCH v6 12/12] qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore Philippe Mathieu-Daudé
  2021-05-14 12:18 ` [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Michael S. Tsirkin
  12 siblings, 2 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Michael S. Tsirkin, Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Igor Mammedov,
	Paolo Bonzini

Now than we can probe if the TCG accelerator is available
at runtime with a QMP command, do it once at the beginning
and only register the tests we can run.
We can then replace the #ifdef'ry by an assertion.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v5 had:
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

v6 is simplified and keeps the same logic, however since
it is different, I'm not keeping the R-b tags.
---
 tests/qtest/bios-tables-test.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index ad877baeb1b..762d154b340 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -97,6 +97,7 @@ typedef struct {
     QTestState *qts;
 } test_data;
 
+static bool tcg_accel_available;
 static char disk[] = "tests/acpi-test-disk-XXXXXX";
 static const char *data_dir = "tests/data/acpi";
 #ifdef CONFIG_IASL
@@ -718,12 +719,7 @@ static void test_acpi_one(const char *params, test_data *data)
     char *args;
     bool use_uefi = data->uefi_fl1 && data->uefi_fl2;
 
-#ifndef CONFIG_TCG
-    if (data->tcg_only) {
-        g_test_skip("TCG disabled, skipping ACPI tcg_only test");
-        return;
-    }
-#endif /* CONFIG_TCG */
+    assert(!data->tcg_only || tcg_accel_available);
 
     args = test_acpi_create_args(data, params, use_uefi);
     data->qts = qtest_init(args);
@@ -1506,6 +1502,8 @@ int main(int argc, char *argv[])
 
     g_test_init(&argc, &argv, NULL);
 
+    tcg_accel_available = qtest_has_accel("tcg");
+
     if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
         ret = boot_sector_init(disk);
         if (ret) {
@@ -1554,10 +1552,10 @@ int main(int argc, char *argv[])
         qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc);
         qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2);
         qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm);
-        if (strcmp(arch, "x86_64") == 0) {
+        if (strcmp(arch, "x86_64") == 0 && tcg_accel_available) {
             qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
         }
-    } else if (strcmp(arch, "aarch64") == 0) {
+    } else if (strcmp(arch, "aarch64") == 0 && tcg_accel_available) {
         qtest_add_func("acpi/virt", test_acpi_virt_tcg);
         qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
         qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v6 12/12] qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (10 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator Philippe Mathieu-Daudé
@ 2021-05-03 21:10 ` Philippe Mathieu-Daudé
  2021-05-05 13:03   ` Igor Mammedov
  2021-05-14 12:18 ` [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Michael S. Tsirkin
  12 siblings, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-03 21:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Thomas Huth, Michael S. Tsirkin,
	Philippe Mathieu-Daudé,
	Markus Armbruster, Alex Bennée, qemu-arm, Igor Mammedov,
	Paolo Bonzini

Since commit 82bf7ae84ce ("target/arm: Remove KVM support for
32-bit Arm hosts") we can remove the comment / check added in
commit ab6b6a77774 and directly run the bios-tables-test.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 tests/qtest/meson.build | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index 0c767389217..46de073d155 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -175,14 +175,13 @@
    'boot-serial-test',
    'hexloader-test']
 
-# TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional
 qtests_aarch64 = \
-  (cpu != 'arm' ? ['bios-tables-test'] : []) +                                                  \
   (config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? ['tpm-tis-device-test'] : []) +        \
   (config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? ['tpm-tis-device-swtpm-test'] : []) +  \
   ['arm-cpu-features',
    'numa-test',
    'boot-serial-test',
+   'bios-tables-test',
    'xlnx-can-test',
    'migration-test']
 
-- 
2.26.3



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
  2021-05-03 21:10 ` [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator Philippe Mathieu-Daudé
@ 2021-05-03 21:19   ` Eric Blake
  2021-05-04 16:13     ` Philippe Mathieu-Daudé
  2021-05-05 12:36   ` Igor Mammedov
  1 sibling, 1 reply; 20+ messages in thread
From: Eric Blake @ 2021-05-03 21:19 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Thomas Huth, Michael S. Tsirkin, Markus Armbruster, qemu-arm,
	Igor Mammedov, Paolo Bonzini, Alex Bennée

On 5/3/21 4:10 PM, Philippe Mathieu-Daudé wrote:
> Now than we can probe if the TCG accelerator is available

that

> at runtime with a QMP command, do it once at the beginning
> and only register the tests we can run.
> We can then replace the #ifdef'ry by an assertion.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v5 had:
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> 
> v6 is simplified and keeps the same logic, however since
> it is different, I'm not keeping the R-b tags.
> ---
>  tests/qtest/bios-tables-test.c | 14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
  2021-05-03 21:19   ` Eric Blake
@ 2021-05-04 16:13     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-04 16:13 UTC (permalink / raw)
  To: Eric Blake, qemu-devel
  Cc: Thomas Huth, Michael S. Tsirkin, Markus Armbruster, qemu-arm,
	Igor Mammedov, Paolo Bonzini, Alex Bennée

On 5/3/21 11:19 PM, Eric Blake wrote:
> On 5/3/21 4:10 PM, Philippe Mathieu-Daudé wrote:
>> Now than we can probe if the TCG accelerator is available
> 
> that

Oops. I'll wait for Igor review before respinning.

> 
>> at runtime with a QMP command, do it once at the beginning
>> and only register the tests we can run.
>> We can then replace the #ifdef'ry by an assertion.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> v5 had:
>> Reviewed-by: Eric Blake <eblake@redhat.com>
>> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
>>
>> v6 is simplified and keeps the same logic, however since
>> it is different, I'm not keeping the R-b tags.
>> ---
>>  tests/qtest/bios-tables-test.c | 14 ++++++--------
>>  1 file changed, 6 insertions(+), 8 deletions(-)
>>
> 
> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks!

Phil.



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v6 09/12] qtest/bios-tables-test: Rename tests not TCG specific
  2021-05-03 21:10 ` [PATCH v6 09/12] qtest/bios-tables-test: Rename tests not TCG specific Philippe Mathieu-Daudé
@ 2021-05-05 12:31   ` Igor Mammedov
  0 siblings, 0 replies; 20+ messages in thread
From: Igor Mammedov @ 2021-05-05 12:31 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, Michael S. Tsirkin, Markus Armbruster, qemu-devel,
	qemu-arm, Paolo Bonzini

On Mon,  3 May 2021 23:10:17 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> Various tests don't require TCG, but have '_tcg' in their name.
> As this is misleading, remove 'tcg' from their name.
> 
> Reported-by: Igor Mammedov <imammedo@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  tests/qtest/bios-tables-test.c | 142 ++++++++++++++++-----------------
>  1 file changed, 71 insertions(+), 71 deletions(-)
> 
> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> index 156d4174aa3..ce498b3ff48 100644
> --- a/tests/qtest/bios-tables-test.c
> +++ b/tests/qtest/bios-tables-test.c
> @@ -753,7 +753,7 @@ static uint8_t base_required_struct_types[] = {
>      0, 1, 3, 4, 16, 17, 19, 32, 127
>  };
>  
> -static void test_acpi_piix4_tcg(void)
> +static void test_acpi_piix4(void)
>  {
>      test_data data;
>  
> @@ -768,7 +768,7 @@ static void test_acpi_piix4_tcg(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_bridge(void)
> +static void test_acpi_piix4_bridge(void)
>  {
>      test_data data;
>  
> @@ -824,7 +824,7 @@ static void test_acpi_piix4_no_acpi_pci_hotplug(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg(void)
> +static void test_acpi_q35(void)
>  {
>      test_data data;
>  
> @@ -841,7 +841,7 @@ static void test_acpi_q35_tcg(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_bridge(void)
> +static void test_acpi_q35_bridge(void)
>  {
>      test_data data;
>  
> @@ -855,7 +855,7 @@ static void test_acpi_q35_tcg_bridge(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_mmio64(void)
> +static void test_acpi_q35_mmio64(void)
>  {
>      test_data data = {
>          .machine = MACHINE_Q35,
> @@ -872,7 +872,7 @@ static void test_acpi_q35_tcg_mmio64(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_cphp(void)
> +static void test_acpi_piix4_cphp(void)
>  {
>      test_data data;
>  
> @@ -888,7 +888,7 @@ static void test_acpi_piix4_tcg_cphp(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_cphp(void)
> +static void test_acpi_q35_cphp(void)
>  {
>      test_data data;
>  
> @@ -908,7 +908,7 @@ static uint8_t ipmi_required_struct_types[] = {
>      0, 1, 3, 4, 16, 17, 19, 32, 38, 127
>  };
>  
> -static void test_acpi_q35_tcg_ipmi(void)
> +static void test_acpi_q35_ipmi(void)
>  {
>      test_data data;
>  
> @@ -923,7 +923,7 @@ static void test_acpi_q35_tcg_ipmi(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_ipmi(void)
> +static void test_acpi_piix4_ipmi(void)
>  {
>      test_data data;
>  
> @@ -941,7 +941,7 @@ static void test_acpi_piix4_tcg_ipmi(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_memhp(void)
> +static void test_acpi_q35_memhp(void)
>  {
>      test_data data;
>  
> @@ -957,7 +957,7 @@ static void test_acpi_q35_tcg_memhp(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_memhp(void)
> +static void test_acpi_piix4_memhp(void)
>  {
>      test_data data;
>  
> @@ -973,7 +973,7 @@ static void test_acpi_piix4_tcg_memhp(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_nosmm(void)
> +static void test_acpi_piix4_nosmm(void)
>  {
>      test_data data;
>  
> @@ -984,7 +984,7 @@ static void test_acpi_piix4_tcg_nosmm(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_smm_compat(void)
> +static void test_acpi_piix4_smm_compat(void)
>  {
>      test_data data;
>  
> @@ -995,7 +995,7 @@ static void test_acpi_piix4_tcg_smm_compat(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_smm_compat_nosmm(void)
> +static void test_acpi_piix4_smm_compat_nosmm(void)
>  {
>      test_data data;
>  
> @@ -1006,7 +1006,7 @@ static void test_acpi_piix4_tcg_smm_compat_nosmm(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_nohpet(void)
> +static void test_acpi_piix4_nohpet(void)
>  {
>      test_data data;
>  
> @@ -1017,7 +1017,7 @@ static void test_acpi_piix4_tcg_nohpet(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_numamem(void)
> +static void test_acpi_q35_numamem(void)
>  {
>      test_data data;
>  
> @@ -1029,7 +1029,7 @@ static void test_acpi_q35_tcg_numamem(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_nosmm(void)
> +static void test_acpi_q35_nosmm(void)
>  {
>      test_data data;
>  
> @@ -1040,7 +1040,7 @@ static void test_acpi_q35_tcg_nosmm(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_smm_compat(void)
> +static void test_acpi_q35_smm_compat(void)
>  {
>      test_data data;
>  
> @@ -1051,7 +1051,7 @@ static void test_acpi_q35_tcg_smm_compat(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_smm_compat_nosmm(void)
> +static void test_acpi_q35_smm_compat_nosmm(void)
>  {
>      test_data data;
>  
> @@ -1062,7 +1062,7 @@ static void test_acpi_q35_tcg_smm_compat_nosmm(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_nohpet(void)
> +static void test_acpi_q35_nohpet(void)
>  {
>      test_data data;
>  
> @@ -1073,7 +1073,7 @@ static void test_acpi_q35_tcg_nohpet(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_piix4_tcg_numamem(void)
> +static void test_acpi_piix4_numamem(void)
>  {
>      test_data data;
>  
> @@ -1087,11 +1087,11 @@ static void test_acpi_piix4_tcg_numamem(void)
>  
>  uint64_t tpm_tis_base_addr;
>  
> -static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
> +static void test_acpi_tpm(const char *machine, const char *tpm_if,
>                                uint64_t base)
>  {
>  #ifdef CONFIG_TPM
> -    gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_tcg_%s.XXXXXX",
> +    gchar *tmp_dir_name = g_strdup_printf("qemu-test_acpi_%s_%s.XXXXXX",
>                                            machine, tpm_if);
>      char *tmp_path = g_dir_make_tmp(tmp_dir_name, NULL);
>      TestState test;
> @@ -1139,12 +1139,12 @@ static void test_acpi_tcg_tpm(const char *machine, const char *tpm_if,
>  #endif
>  }
>  
> -static void test_acpi_q35_tcg_tpm_tis(void)
> +static void test_acpi_q35_tpm_tis(void)
>  {
> -    test_acpi_tcg_tpm("q35", "tis", 0xFED40000);
> +    test_acpi_tpm("q35", "tis", 0xFED40000);
>  }
>  
> -static void test_acpi_tcg_dimm_pxm(const char *machine)
> +static void test_acpi_dimm_pxm(const char *machine)
>  {
>      test_data data;
>  
> @@ -1174,14 +1174,14 @@ static void test_acpi_tcg_dimm_pxm(const char *machine)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_dimm_pxm(void)
> +static void test_acpi_q35_dimm_pxm(void)
>  {
> -    test_acpi_tcg_dimm_pxm(MACHINE_Q35);
> +    test_acpi_dimm_pxm(MACHINE_Q35);
>  }
>  
> -static void test_acpi_piix4_tcg_dimm_pxm(void)
> +static void test_acpi_piix4_dimm_pxm(void)
>  {
> -    test_acpi_tcg_dimm_pxm(MACHINE_PC);
> +    test_acpi_dimm_pxm(MACHINE_PC);
>  }
>  
>  static void test_acpi_virt_tcg_memhp(void)
> @@ -1223,7 +1223,7 @@ static void test_acpi_microvm_prepare(test_data *data)
>      data->blkdev = "virtio-blk-device";
>  }
>  
> -static void test_acpi_microvm_tcg(void)
> +static void test_acpi_microvm(void)
>  {
>      test_data data;
>  
> @@ -1233,7 +1233,7 @@ static void test_acpi_microvm_tcg(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_microvm_usb_tcg(void)
> +static void test_acpi_microvm_usb(void)
>  {
>      test_data data;
>  
> @@ -1244,7 +1244,7 @@ static void test_acpi_microvm_usb_tcg(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_microvm_rtc_tcg(void)
> +static void test_acpi_microvm_rtc(void)
>  {
>      test_data data;
>  
> @@ -1255,7 +1255,7 @@ static void test_acpi_microvm_rtc_tcg(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_microvm_pcie_tcg(void)
> +static void test_acpi_microvm_pcie(void)
>  {
>      test_data data;
>  
> @@ -1267,7 +1267,7 @@ static void test_acpi_microvm_pcie_tcg(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_microvm_ioapic2_tcg(void)
> +static void test_acpi_microvm_ioapic2(void)
>  {
>      test_data data;
>  
> @@ -1332,7 +1332,7 @@ static void test_acpi_virt_tcg_pxb(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_tcg_acpi_hmat(const char *machine)
> +static void test_acpi_acpi_hmat(const char *machine)
>  {
>      test_data data;
>  
> @@ -1364,14 +1364,14 @@ static void test_acpi_tcg_acpi_hmat(const char *machine)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_q35_tcg_acpi_hmat(void)
> +static void test_acpi_q35_acpi_hmat(void)
>  {
> -    test_acpi_tcg_acpi_hmat(MACHINE_Q35);
> +    test_acpi_acpi_hmat(MACHINE_Q35);
>  }
>  
> -static void test_acpi_piix4_tcg_acpi_hmat(void)
> +static void test_acpi_piix4_acpi_hmat(void)
>  {
> -    test_acpi_tcg_acpi_hmat(MACHINE_PC);
> +    test_acpi_acpi_hmat(MACHINE_PC);
>  }
>  
>  static void test_acpi_virt_tcg(void)
> @@ -1512,50 +1512,50 @@ int main(int argc, char *argv[])
>              return ret;
>          }
>          qtest_add_func("acpi/q35/oem-fields", test_acpi_oem_fields_q35);
> -        qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis);
> -        qtest_add_func("acpi/piix4", test_acpi_piix4_tcg);
> +        qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tpm_tis);
> +        qtest_add_func("acpi/piix4", test_acpi_piix4);
>          qtest_add_func("acpi/oem-fields", test_acpi_oem_fields_pc);
> -        qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge);
> +        qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_bridge);
>          qtest_add_func("acpi/piix4/pci-hotplug/no_root_hotplug",
>                         test_acpi_piix4_no_root_hotplug);
>          qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug",
>                         test_acpi_piix4_no_bridge_hotplug);
>          qtest_add_func("acpi/piix4/pci-hotplug/off",
>                         test_acpi_piix4_no_acpi_pci_hotplug);
> -        qtest_add_func("acpi/q35", test_acpi_q35_tcg);
> -        qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge);
> -        qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64);
> -        qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_tcg_ipmi);
> -        qtest_add_func("acpi/q35/ipmi", test_acpi_q35_tcg_ipmi);
> -        qtest_add_func("acpi/piix4/cpuhp", test_acpi_piix4_tcg_cphp);
> -        qtest_add_func("acpi/q35/cpuhp", test_acpi_q35_tcg_cphp);
> -        qtest_add_func("acpi/piix4/memhp", test_acpi_piix4_tcg_memhp);
> -        qtest_add_func("acpi/q35/memhp", test_acpi_q35_tcg_memhp);
> -        qtest_add_func("acpi/piix4/numamem", test_acpi_piix4_tcg_numamem);
> -        qtest_add_func("acpi/q35/numamem", test_acpi_q35_tcg_numamem);
> -        qtest_add_func("acpi/piix4/nosmm", test_acpi_piix4_tcg_nosmm);
> +        qtest_add_func("acpi/q35", test_acpi_q35);
> +        qtest_add_func("acpi/q35/bridge", test_acpi_q35_bridge);
> +        qtest_add_func("acpi/q35/mmio64", test_acpi_q35_mmio64);
> +        qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_ipmi);
> +        qtest_add_func("acpi/q35/ipmi", test_acpi_q35_ipmi);
> +        qtest_add_func("acpi/piix4/cpuhp", test_acpi_piix4_cphp);
> +        qtest_add_func("acpi/q35/cpuhp", test_acpi_q35_cphp);
> +        qtest_add_func("acpi/piix4/memhp", test_acpi_piix4_memhp);
> +        qtest_add_func("acpi/q35/memhp", test_acpi_q35_memhp);
> +        qtest_add_func("acpi/piix4/numamem", test_acpi_piix4_numamem);
> +        qtest_add_func("acpi/q35/numamem", test_acpi_q35_numamem);
> +        qtest_add_func("acpi/piix4/nosmm", test_acpi_piix4_nosmm);
>          qtest_add_func("acpi/piix4/smm-compat",
> -                       test_acpi_piix4_tcg_smm_compat);
> +                       test_acpi_piix4_smm_compat);
>          qtest_add_func("acpi/piix4/smm-compat-nosmm",
> -                       test_acpi_piix4_tcg_smm_compat_nosmm);
> -        qtest_add_func("acpi/piix4/nohpet", test_acpi_piix4_tcg_nohpet);
> -        qtest_add_func("acpi/q35/nosmm", test_acpi_q35_tcg_nosmm);
> +                       test_acpi_piix4_smm_compat_nosmm);
> +        qtest_add_func("acpi/piix4/nohpet", test_acpi_piix4_nohpet);
> +        qtest_add_func("acpi/q35/nosmm", test_acpi_q35_nosmm);
>          qtest_add_func("acpi/q35/smm-compat",
> -                       test_acpi_q35_tcg_smm_compat);
> +                       test_acpi_q35_smm_compat);
>          qtest_add_func("acpi/q35/smm-compat-nosmm",
> -                       test_acpi_q35_tcg_smm_compat_nosmm);
> -        qtest_add_func("acpi/q35/nohpet", test_acpi_q35_tcg_nohpet);
> -        qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_tcg_dimm_pxm);
> -        qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_pxm);
> -        qtest_add_func("acpi/piix4/acpihmat", test_acpi_piix4_tcg_acpi_hmat);
> -        qtest_add_func("acpi/q35/acpihmat", test_acpi_q35_tcg_acpi_hmat);
> -        qtest_add_func("acpi/microvm", test_acpi_microvm_tcg);
> -        qtest_add_func("acpi/microvm/usb", test_acpi_microvm_usb_tcg);
> -        qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc_tcg);
> -        qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2_tcg);
> +                       test_acpi_q35_smm_compat_nosmm);
> +        qtest_add_func("acpi/q35/nohpet", test_acpi_q35_nohpet);
> +        qtest_add_func("acpi/piix4/dimmpxm", test_acpi_piix4_dimm_pxm);
> +        qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_dimm_pxm);
> +        qtest_add_func("acpi/piix4/acpihmat", test_acpi_piix4_acpi_hmat);
> +        qtest_add_func("acpi/q35/acpihmat", test_acpi_q35_acpi_hmat);
> +        qtest_add_func("acpi/microvm", test_acpi_microvm);
> +        qtest_add_func("acpi/microvm/usb", test_acpi_microvm_usb);
> +        qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc);
> +        qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2);
>          qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm);
>          if (strcmp(arch, "x86_64") == 0) {
> -            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
> +            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie);
>          }
>      } else if (strcmp(arch, "aarch64") == 0) {
>          qtest_add_func("acpi/virt", test_acpi_virt_tcg);



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v6 10/12] qtest/bios-tables-test: Rename TCG specific tests
  2021-05-03 21:10 ` [PATCH v6 10/12] qtest/bios-tables-test: Rename TCG specific tests Philippe Mathieu-Daudé
@ 2021-05-05 12:33   ` Igor Mammedov
  0 siblings, 0 replies; 20+ messages in thread
From: Igor Mammedov @ 2021-05-05 12:33 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, Michael S. Tsirkin, Markus Armbruster, qemu-devel,
	qemu-arm, Paolo Bonzini

On Mon,  3 May 2021 23:10:18 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> Some tests require TCG, but don't have '_tcg' in their name,
> while others do. Unify the test names by adding 'tcg' to the
> TCG specific tests.
> 
> Reported-by: Igor Mammedov <imammedo@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  tests/qtest/bios-tables-test.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> index ce498b3ff48..ad877baeb1b 100644
> --- a/tests/qtest/bios-tables-test.c
> +++ b/tests/qtest/bios-tables-test.c
> @@ -1255,7 +1255,7 @@ static void test_acpi_microvm_rtc(void)
>      free_test_data(&data);
>  }
>  
> -static void test_acpi_microvm_pcie(void)
> +static void test_acpi_microvm_pcie_tcg(void)
>  {
>      test_data data;
>  
> @@ -1475,7 +1475,7 @@ static void test_acpi_oem_fields_microvm(void)
>      g_free(args);
>  }
>  
> -static void test_acpi_oem_fields_virt(void)
> +static void test_acpi_oem_fields_virt_tcg(void)
>  {
>      test_data data = {
>          .machine = "virt",
> @@ -1555,14 +1555,14 @@ int main(int argc, char *argv[])
>          qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2);
>          qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm);
>          if (strcmp(arch, "x86_64") == 0) {
> -            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie);
> +            qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
>          }
>      } else if (strcmp(arch, "aarch64") == 0) {
>          qtest_add_func("acpi/virt", test_acpi_virt_tcg);
>          qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
>          qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
>          qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb);
> -        qtest_add_func("acpi/virt/oem-fields", test_acpi_oem_fields_virt);
> +        qtest_add_func("acpi/virt/oem-fields", test_acpi_oem_fields_virt_tcg);
>      }
>      ret = g_test_run();
>      boot_sector_cleanup(disk);



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
  2021-05-03 21:10 ` [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator Philippe Mathieu-Daudé
  2021-05-03 21:19   ` Eric Blake
@ 2021-05-05 12:36   ` Igor Mammedov
  1 sibling, 0 replies; 20+ messages in thread
From: Igor Mammedov @ 2021-05-05 12:36 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, Michael S. Tsirkin, Markus Armbruster, qemu-devel,
	qemu-arm, Paolo Bonzini, Alex Bennée

On Mon,  3 May 2021 23:10:19 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> Now than we can probe if the TCG accelerator is available
> at runtime with a QMP command, do it once at the beginning
> and only register the tests we can run.
> We can then replace the #ifdef'ry by an assertion.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v5 had:
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> 
> v6 is simplified and keeps the same logic, however since
> it is different, I'm not keeping the R-b tags.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  tests/qtest/bios-tables-test.c | 14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> index ad877baeb1b..762d154b340 100644
> --- a/tests/qtest/bios-tables-test.c
> +++ b/tests/qtest/bios-tables-test.c
> @@ -97,6 +97,7 @@ typedef struct {
>      QTestState *qts;
>  } test_data;
>  
> +static bool tcg_accel_available;
>  static char disk[] = "tests/acpi-test-disk-XXXXXX";
>  static const char *data_dir = "tests/data/acpi";
>  #ifdef CONFIG_IASL
> @@ -718,12 +719,7 @@ static void test_acpi_one(const char *params, test_data *data)
>      char *args;
>      bool use_uefi = data->uefi_fl1 && data->uefi_fl2;
>  
> -#ifndef CONFIG_TCG
> -    if (data->tcg_only) {
> -        g_test_skip("TCG disabled, skipping ACPI tcg_only test");
> -        return;
> -    }
> -#endif /* CONFIG_TCG */
> +    assert(!data->tcg_only || tcg_accel_available);
>  
>      args = test_acpi_create_args(data, params, use_uefi);
>      data->qts = qtest_init(args);
> @@ -1506,6 +1502,8 @@ int main(int argc, char *argv[])
>  
>      g_test_init(&argc, &argv, NULL);
>  
> +    tcg_accel_available = qtest_has_accel("tcg");
> +
>      if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
>          ret = boot_sector_init(disk);
>          if (ret) {
> @@ -1554,10 +1552,10 @@ int main(int argc, char *argv[])
>          qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc);
>          qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2);
>          qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm);
> -        if (strcmp(arch, "x86_64") == 0) {
> +        if (strcmp(arch, "x86_64") == 0 && tcg_accel_available) {
>              qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
>          }
> -    } else if (strcmp(arch, "aarch64") == 0) {
> +    } else if (strcmp(arch, "aarch64") == 0 && tcg_accel_available) {
>          qtest_add_func("acpi/virt", test_acpi_virt_tcg);
>          qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
>          qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v6 12/12] qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore
  2021-05-03 21:10 ` [PATCH v6 12/12] qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore Philippe Mathieu-Daudé
@ 2021-05-05 13:03   ` Igor Mammedov
  0 siblings, 0 replies; 20+ messages in thread
From: Igor Mammedov @ 2021-05-05 13:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Laurent Vivier, Thomas Huth, Michael S. Tsirkin,
	Markus Armbruster, qemu-devel, qemu-arm, Paolo Bonzini,
	Alex Bennée

On Mon,  3 May 2021 23:10:20 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> Since commit 82bf7ae84ce ("target/arm: Remove KVM support for
> 32-bit Arm hosts") we can remove the comment / check added in
> commit ab6b6a77774 and directly run the bios-tables-test.

However I no longer recall what exactly was wrong with TCG,
the later commit adds comment about broken TCG, so I'm not sure
how it's tied to the first commit

 
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> Tested-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  tests/qtest/meson.build | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
> index 0c767389217..46de073d155 100644
> --- a/tests/qtest/meson.build
> +++ b/tests/qtest/meson.build
> @@ -175,14 +175,13 @@
>     'boot-serial-test',
>     'hexloader-test']
>  
> -# TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional
>  qtests_aarch64 = \
> -  (cpu != 'arm' ? ['bios-tables-test'] : []) +                                                  \
>    (config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? ['tpm-tis-device-test'] : []) +        \
>    (config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? ['tpm-tis-device-swtpm-test'] : []) +  \
>    ['arm-cpu-features',
>     'numa-test',
>     'boot-serial-test',
> +   'bios-tables-test',
>     'xlnx-can-test',
>     'migration-test']
>  



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels'
  2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
                   ` (11 preceding siblings ...)
  2021-05-03 21:10 ` [PATCH v6 12/12] qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore Philippe Mathieu-Daudé
@ 2021-05-14 12:18 ` Michael S. Tsirkin
  12 siblings, 0 replies; 20+ messages in thread
From: Michael S. Tsirkin @ 2021-05-14 12:18 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, qemu-devel, Markus Armbruster, qemu-arm,
	Igor Mammedov, Paolo Bonzini

On Mon, May 03, 2021 at 11:10:08PM +0200, Philippe Mathieu-Daudé wrote:
> Missing review: 10-12 (bios-tables-test)


So the main functional changes is ARM stuff I think?
Pls use that tree to merge.

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>



> Hi,
> 
> This series aims at having accelerator-independent qtests
> by querying a QEMU instance at runtime to check the list
> of built-in accelerators.
> 
> First we add the 'query-accels' QMP command,
> then we add the qtest_has_accel() method to libqtest,
> finally we use this new method to allow running
> bios-tables-test on KVM-only builds.
> 
> Since v5:
> - Rename bios-tables tests (Igor)
> - Do not restrict bios-tables tests to TCG (Igor)
> - Reset bios-tables-test R-b tags
> 
> Since v4:
> - Removed patch 10 (Markus, patch justification not clear)
>   'qtest/qmp-cmd-test: Make test build-independent from accelerator'
> - Removed patch 12 (Alex, icount / record/replay issue)
>   'tests/meson: Only build softfloat objects if TCG is selected (again)'
> - Sorted @Accelerator QAPI enum (Eric)
> - Added R-b/T-b
> 
> Since v3:
> - Added Markus review comments
> - Added R-b/A-b tags
> 
> Since v2:
> - Addressed Markus & Drew review comments
> - Added qtest/migration-test patch
> 
> Since v1:
> - Addressed Eric & Paolo review comments
> 
> Since v0:
> - kept over-engineered union (I don't how to do simple enum)
> - dropped arm-cpu-features patches for now
> - fixed typos (Eric)
> - rename qtest_has_accel (Thomas)
> - probe accel with machine none previous qtest (Paolo)
> - iterate over QAPI enum (Markus)
> 
> Eric's suggestion of conditional QAPI didn't worked out,
> as accelerator definitions are poisoned.
> 
> Phil.
> 
> Philippe Mathieu-Daudé (12):
>   MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section
>   accel: Introduce 'query-accels' QMP command
>   qtest: Add qtest_has_accel() method
>   qtest/arm-cpu-features: Use generic qtest_has_accel() to check for KVM
>   qtest/arm-cpu-features: Restrict sve_tests_sve_off_kvm test to KVM
>   qtest/arm-cpu-features: Remove TCG fallback to KVM specific tests
>   qtest/arm-cpu-features: Use generic qtest_has_accel() to check for TCG
>   qtest/migration-test: Skip tests if KVM not builtin on s390x/ppc64
>   qtest/bios-tables-test: Rename tests not TCG specific
>   qtest/bios-tables-test: Rename TCG specific tests
>   qtest/bios-tables-test: Make test build-independent from accelerator
>   qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore
> 
>  qapi/machine.json              |  47 ++++++++++
>  tests/qtest/libqos/libqtest.h  |   8 ++
>  accel/accel-qmp.c              |  49 +++++++++++
>  tests/qtest/arm-cpu-features.c |  55 ++++--------
>  tests/qtest/bios-tables-test.c | 156 ++++++++++++++++-----------------
>  tests/qtest/libqtest.c         |  29 ++++++
>  tests/qtest/migration-test.c   |   4 +-
>  MAINTAINERS                    |   1 +
>  accel/meson.build              |   2 +-
>  tests/qtest/meson.build        |   3 +-
>  10 files changed, 232 insertions(+), 122 deletions(-)
>  create mode 100644 accel/accel-qmp.c
> 
> -- 
> 2.26.3
> 



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-05-14 12:46 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-03 21:10 [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 01/12] MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 02/12] accel: Introduce 'query-accels' QMP command Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 03/12] qtest: Add qtest_has_accel() method Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 04/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for KVM Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 05/12] qtest/arm-cpu-features: Restrict sve_tests_sve_off_kvm test to KVM Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 06/12] qtest/arm-cpu-features: Remove TCG fallback to KVM specific tests Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 07/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for TCG Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 08/12] qtest/migration-test: Skip tests if KVM not builtin on s390x/ppc64 Philippe Mathieu-Daudé
2021-05-03 21:10 ` [PATCH v6 09/12] qtest/bios-tables-test: Rename tests not TCG specific Philippe Mathieu-Daudé
2021-05-05 12:31   ` Igor Mammedov
2021-05-03 21:10 ` [PATCH v6 10/12] qtest/bios-tables-test: Rename TCG specific tests Philippe Mathieu-Daudé
2021-05-05 12:33   ` Igor Mammedov
2021-05-03 21:10 ` [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator Philippe Mathieu-Daudé
2021-05-03 21:19   ` Eric Blake
2021-05-04 16:13     ` Philippe Mathieu-Daudé
2021-05-05 12:36   ` Igor Mammedov
2021-05-03 21:10 ` [PATCH v6 12/12] qtest: Do not restrict bios-tables-test to Aarch64 hosts anymore Philippe Mathieu-Daudé
2021-05-05 13:03   ` Igor Mammedov
2021-05-14 12:18 ` [PATCH v6 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels' Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.