Jonah Palmer <jonah.pal...@oracle.com> writes: > On 11/10/21 08:52, Markus Armbruster wrote: >> Jonah Palmer<jonah.pal...@oracle.com> writes: >> >>> From: Laurent Vivier<lviv...@redhat.com> >>> >>> This new command shows the information of a VirtQueue element. >>> >>> Signed-off-by: Jonah Palmer<jonah.pal...@oracle.com> >> [...] >> >>> diff --git a/qapi/virtio.json b/qapi/virtio.json >>> index 0f65044..c57fbc5 100644 >>> --- a/qapi/virtio.json >>> +++ b/qapi/virtio.json >>> @@ -1061,3 +1061,180 @@ >>> { 'command': 'x-query-virtio-vhost-queue-status', >>> 'data': { 'path': 'str', 'queue': 'uint16' }, >>> 'returns': 'VirtVhostQueueStatus', 'features': [ 'unstable' ] } >>> + >>> +## >>> +# @VirtioRingDescFlags: >>> +# >>> +# An enumeration of the virtio ring descriptor flags >>> +# >>> +# Since: 6.3 >>> +# >>> +## >>> + >>> +{ 'enum': 'VirtioRingDescFlags', >>> + 'data': [ 'next', 'write', 'indirect', 'avail', 'used' ] >>> +} >>> + >>> +## >>> +# @VirtioRingDesc: >>> +# >>> +# Information regarding the VRing descriptor area >>> +# >>> +# @addr: guest physical address of the descriptor data >>> +# >>> +# @len: length of the descriptor data >>> +# >>> +# @flags: list of descriptor flags >>> +# >>> +# Since: 6.3 >>> +# >>> +## >>> + >>> +{ 'struct': 'VirtioRingDesc', >>> + 'data': { 'addr': 'uint64', >>> + 'len': 'uint32', >>> + 'flags': [ 'VirtioRingDescFlags' ] } } >>> + >>> +## >>> +# @VirtioRingAvail: >>> +# >>> +# Information regarding the avail VRing (also known as the driver >>> +# area) >>> +# >>> +# @flags: VRingAvail flags >>> +# >>> +# @idx: VRingAvail index >>> +# >>> +# @ring: VRingAvail ring[] entry at provided index >>> +# >>> +# Since: 6.3 >>> +# >>> +## >>> + >>> +{ 'struct': 'VirtioRingAvail', >>> + 'data': { 'flags': 'uint16', >>> + 'idx': 'uint16', >>> + 'ring': 'uint16' } } >>> + >>> +## >>> +# @VirtioRingUsed: >>> +# >>> +# Information regarding the used VRing (also known as the device >>> +# area) >>> +# >>> +# @flags: VRingUsed flags >>> +# >>> +# @idx: VRingUsed index >>> +# >>> +# Since: 6.3 >>> +# >>> +## >>> + >>> +{ 'struct': 'VirtioRingUsed', >>> + 'data': { 'flags': 'uint16', >>> + 'idx': 'uint16' } } >>> + >>> +## >>> +# @VirtioQueueElement: >>> +# >>> +# Information regarding a VirtQueue VirtQueueElement including >>> +# descriptor, driver, and device areas >>> +# >>> +# @device-name: name of the VirtIODevice which this VirtQueue belongs >>> +# to (for reference) >>> +# >>> +# @index: index of the element in the queue >>> +# >>> +# @ndescs: number of descriptors >>> +# >>> +# @descs: list of the descriptors >> >> Can @ndescs ever be not equal to the length of @descs? >> >> If no, it's redundant. > > I don't believe so, no. Should I just remove @ndescs then?
Yes, please. [...]