[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 02/12] accel: Introduce 'query-accels' QMP command
From: |
Eric Blake |
Subject: |
Re: [PATCH v4 02/12] accel: Introduce 'query-accels' QMP command |
Date: |
Fri, 30 Apr 2021 14:03:16 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
On 4/15/21 11:32 AM, Philippe Mathieu-Daudé wrote:
> 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>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Since v3: Simplify over-engineered AcceleratorInfo (Markus, kept Eric R-b)
> Since v2: @since 6.0 -> 6.1, added note (Eric)
> Since v1: 'type' -> 'name' in comments
> +++ 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': [ 'qtest', 'tcg', 'kvm', 'hax', 'hvf', 'whpx', 'xen' ] }
There's no requirement for enums to be in any order, although if the
list is likely to get larger over time, lexicographic order makes it
easier to know where to insert new entries. Up to you whether it is
worth sorting, and your decision does not invalidate my R-b.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
- [PATCH v4 00/12] qtests: Check accelerator available at runtime via QMP 'query-accels', Philippe Mathieu-Daudé, 2021/04/15
- [PATCH v4 01/12] MAINTAINERS: Add qtest/arm-cpu-features.c to ARM TCG CPUs section, Philippe Mathieu-Daudé, 2021/04/15
- [PATCH v4 02/12] accel: Introduce 'query-accels' QMP command, Philippe Mathieu-Daudé, 2021/04/15
- [PATCH v4 03/12] tests/qtest: Add qtest_has_accel() method, Philippe Mathieu-Daudé, 2021/04/15
- [PATCH v4 04/12] qtest/arm-cpu-features: Use generic qtest_has_accel() to check for KVM, Philippe Mathieu-Daudé, 2021/04/15
- [PATCH v4 05/12] qtest/arm-cpu-features: Restrict sve_tests_sve_off_kvm test to KVM, Philippe Mathieu-Daudé, 2021/04/15
- [PATCH v4 06/12] qtest/arm-cpu-features: Remove TCG fallback to KVM specific tests, Philippe Mathieu-Daudé, 2021/04/15