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@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, ... > > 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 >