On 12/03/2021 08.42, Marc-André Lureau wrote:
On Fri, Mar 12, 2021 at 3:14 AM Philippe Mathieu-Daudé <philmd@xxxxxxxxxx <mailto:philmd@xxxxxxxxxx>> wrote:
[...]
+## +# @AcceleratorInfo: +# +# Accelerator information. +# +# @name: The accelerator name. +# +# Since: 6.0 +## +{ 'union': 'AcceleratorInfo', + 'base': {'name': 'Accelerator'}, + 'discriminator': 'name', + 'data': { } } + Making room for future details, why not.
I think we definitely need the additional data section here: For KVM on POWER, it would be good to know whether it's KVM-HV or KVM-PR, for KVM on MIPS it would be good to know whether it's KVM_VM_MIPS_VZ or KVM_VM_MIPS_TE, for KVM on x86 whether it's the AMD flavor or Intel, ...
+## +# @query-accels: +# +# Get a list of AcceleratorInfo for all built-in accelerators. +# +# Returns: a list of @AcceleratorInfo describing each accelerator. +# +# Since: 6.0 +# +# Example: +# +# -> { "execute": "query-accels" } +# <- { "return": [ +# { +# "type": "qtest" +# }, +# { +# "type": "kvm" +# } +# ] } +# +## +{ 'command': 'query-accels', + 'returns': ['AcceleratorInfo'] } That's nice, but how do you know which accels are actually enabled?
I guess we need two commands in the end, one for querying which accelerators are available, and one for querying the data from the currently active accelerator...?
Thomas