On 04/06/2021 17.51, Alex Bennée wrote:
From: Philippe Mathieu-Daudé <phi...@redhat.com>

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 <ebl...@redhat.com>
Reviewed-by: Alex Bennée <alex.ben...@linaro.org>
Tested-by: Alex Bennée <alex.ben...@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com>
Signed-off-by: Alex Bennée <alex.ben...@linaro.org>
Message-Id: <20210505125806.1263441-3-phi...@redhat.com>
---
[...]
+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

Nit: Use alphabetical order here, too, just like you did in the enum?

Apart from that:
Reviewed-by: Thomas Huth <th...@redhat.com>


Reply via email to