On 3/12/21 9:48 AM, Andrew Jones wrote:
On Fri, Mar 12, 2021 at 09:11:45AM +0100, Thomas Huth wrote:
> On 12/03/2021 08.42, Marc-André Lureau wrote:
>>
>>
>> On Fri, Mar 12, 2021 at 3:14 AM Philippe Mathieu-Daudé
>> <philmd(a)redhat.com <mailto:philmd@redhat.com>> 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, ...
Could also pre-expand all of these and list them individually.
Let us consider simplicity for the reader, and which use cases we expect for this.
>
>> +##
>> +# @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...?
>
If we listed each accelerator individually, then we could use booleans
for them, where only the active one would be true. If we can't come up
with another need for the accelerator-specific info now, then I'd leave
it to be added at a later time when it is needed.
Thanks,
drew