virtio.json (6a4cff8e1a80bafc4b8fe2bfb10081f4880d1b3b) virtio.json (a937b6aa739f65f2cae2ad9a7eb65a309ad2a359)
1# -*- Mode: Python -*-
2# vim: filetype=python
3#
4
5##
6# = Virtio devices
7##
8
9##
10# @VirtioInfo:
11#
12# Basic information about a given VirtIODevice
13#
14# @path: The VirtIODevice's canonical QOM path
15#
16# @name: Name of the VirtIODevice
17#
18# Since: 7.2
1# -*- Mode: Python -*-
2# vim: filetype=python
3#
4
5##
6# = Virtio devices
7##
8
9##
10# @VirtioInfo:
11#
12# Basic information about a given VirtIODevice
13#
14# @path: The VirtIODevice's canonical QOM path
15#
16# @name: Name of the VirtIODevice
17#
18# Since: 7.2
19#
20##
21{ 'struct': 'VirtioInfo',
22 'data': { 'path': 'str',
23 'name': 'str' } }
24
25##
26# @x-query-virtio:
27#
28# Returns a list of all realized VirtIODevices
29#
30# Features:
19##
20{ 'struct': 'VirtioInfo',
21 'data': { 'path': 'str',
22 'name': 'str' } }
23
24##
25# @x-query-virtio:
26#
27# Returns a list of all realized VirtIODevices
28#
29# Features:
30#
31# @unstable: This command is meant for debugging.
32#
33# Returns: List of gathered VirtIODevices
34#
35# Since: 7.2
36#
37# Example:
38#

--- 16 unchanged lines hidden (view full) ---

55# "path": "/machine/peripheral-anon/device[1]/virtio-backend"
56# },
57# {
58# "name": "virtio-serial",
59# "path": "/machine/peripheral-anon/device[0]/virtio-backend"
60# }
61# ]
62# }
31# @unstable: This command is meant for debugging.
32#
33# Returns: List of gathered VirtIODevices
34#
35# Since: 7.2
36#
37# Example:
38#

--- 16 unchanged lines hidden (view full) ---

55# "path": "/machine/peripheral-anon/device[1]/virtio-backend"
56# },
57# {
58# "name": "virtio-serial",
59# "path": "/machine/peripheral-anon/device[0]/virtio-backend"
60# }
61# ]
62# }
63#
64##
63##
65
66{ 'command': 'x-query-virtio',
67 'returns': [ 'VirtioInfo' ],
68 'features': [ 'unstable' ] }
69
70##
71# @VhostStatus:
72#
64{ 'command': 'x-query-virtio',
65 'returns': [ 'VirtioInfo' ],
66 'features': [ 'unstable' ] }
67
68##
69# @VhostStatus:
70#
73# Information about a vhost device. This information will only be
71# Information about a vhost device. This information will only be
74# displayed if the vhost device is active.
75#
76# @n-mem-sections: vhost_dev n_mem_sections
77#
78# @n-tmp-sections: vhost_dev n_tmp_sections
79#
80# @nvqs: vhost_dev nvqs (number of virtqueues being used)
81#

--- 11 unchanged lines hidden (view full) ---

93#
94# @backend-cap: vhost_dev backend_cap
95#
96# @log-enabled: vhost_dev log_enabled flag
97#
98# @log-size: vhost_dev log_size
99#
100# Since: 7.2
72# displayed if the vhost device is active.
73#
74# @n-mem-sections: vhost_dev n_mem_sections
75#
76# @n-tmp-sections: vhost_dev n_tmp_sections
77#
78# @nvqs: vhost_dev nvqs (number of virtqueues being used)
79#

--- 11 unchanged lines hidden (view full) ---

91#
92# @backend-cap: vhost_dev backend_cap
93#
94# @log-enabled: vhost_dev log_enabled flag
95#
96# @log-size: vhost_dev log_size
97#
98# Since: 7.2
101#
102##
99##
103
104{ 'struct': 'VhostStatus',
105 'data': { 'n-mem-sections': 'int',
106 'n-tmp-sections': 'int',
107 'nvqs': 'uint32',
108 'vq-index': 'int',
109 'features': 'VirtioDeviceFeatures',
110 'acked-features': 'VirtioDeviceFeatures',
111 'backend-features': 'VirtioDeviceFeatures',
112 'protocol-features': 'VhostDeviceProtocols',
113 'max-queues': 'uint64',
114 'backend-cap': 'uint64',
115 'log-enabled': 'bool',
116 'log-size': 'uint64' } }
117
118##
119# @VirtioStatus:
120#
121# Full status of the virtio device with most VirtIODevice members.
100{ 'struct': 'VhostStatus',
101 'data': { 'n-mem-sections': 'int',
102 'n-tmp-sections': 'int',
103 'nvqs': 'uint32',
104 'vq-index': 'int',
105 'features': 'VirtioDeviceFeatures',
106 'acked-features': 'VirtioDeviceFeatures',
107 'backend-features': 'VirtioDeviceFeatures',
108 'protocol-features': 'VhostDeviceProtocols',
109 'max-queues': 'uint64',
110 'backend-cap': 'uint64',
111 'log-enabled': 'bool',
112 'log-size': 'uint64' } }
113
114##
115# @VirtioStatus:
116#
117# Full status of the virtio device with most VirtIODevice members.
122# Also includes the full status of the corresponding vhost device
123# if the vhost device is active.
118# Also includes the full status of the corresponding vhost device if
119# the vhost device is active.
124#
125# @name: VirtIODevice name
126#
127# @device-id: VirtIODevice ID
128#
129# @vhost-started: VirtIODevice vhost_started flag
130#
131# @guest-features: VirtIODevice guest_features
132#
133# @host-features: VirtIODevice host_features
134#
135# @backend-features: VirtIODevice backend_features
136#
137# @device-endian: VirtIODevice device_endian
138#
120#
121# @name: VirtIODevice name
122#
123# @device-id: VirtIODevice ID
124#
125# @vhost-started: VirtIODevice vhost_started flag
126#
127# @guest-features: VirtIODevice guest_features
128#
129# @host-features: VirtIODevice host_features
130#
131# @backend-features: VirtIODevice backend_features
132#
133# @device-endian: VirtIODevice device_endian
134#
139# @num-vqs: VirtIODevice virtqueue count. This is the number of active
140# virtqueues being used by the VirtIODevice.
135# @num-vqs: VirtIODevice virtqueue count. This is the number of
136# active virtqueues being used by the VirtIODevice.
141#
142# @status: VirtIODevice configuration status (VirtioDeviceStatus)
143#
144# @isr: VirtIODevice ISR
145#
146# @queue-sel: VirtIODevice queue_sel
147#
148# @vm-running: VirtIODevice vm_running flag

--- 9 unchanged lines hidden (view full) ---

158# @start-on-kick: VirtIODevice start_on_kick flag
159#
160# @disable-legacy-check: VirtIODevice disabled_legacy_check flag
161#
162# @bus-name: VirtIODevice bus_name
163#
164# @use-guest-notifier-mask: VirtIODevice use_guest_notifier_mask flag
165#
137#
138# @status: VirtIODevice configuration status (VirtioDeviceStatus)
139#
140# @isr: VirtIODevice ISR
141#
142# @queue-sel: VirtIODevice queue_sel
143#
144# @vm-running: VirtIODevice vm_running flag

--- 9 unchanged lines hidden (view full) ---

154# @start-on-kick: VirtIODevice start_on_kick flag
155#
156# @disable-legacy-check: VirtIODevice disabled_legacy_check flag
157#
158# @bus-name: VirtIODevice bus_name
159#
160# @use-guest-notifier-mask: VirtIODevice use_guest_notifier_mask flag
161#
166# @vhost-dev: Corresponding vhost device info for a given VirtIODevice.
167# Present if the given VirtIODevice has an active vhost
168# device.
162# @vhost-dev: Corresponding vhost device info for a given
163# VirtIODevice. Present if the given VirtIODevice has an active
164# vhost device.
169#
170# Since: 7.2
165#
166# Since: 7.2
171#
172##
167##
173
174{ 'struct': 'VirtioStatus',
175 'data': { 'name': 'str',
176 'device-id': 'uint16',
177 'vhost-started': 'bool',
178 'device-endian': 'str',
179 'guest-features': 'VirtioDeviceFeatures',
180 'host-features': 'VirtioDeviceFeatures',
181 'backend-features': 'VirtioDeviceFeatures',

--- 15 unchanged lines hidden (view full) ---

197##
198# @x-query-virtio-status:
199#
200# Poll for a comprehensive status of a given virtio device
201#
202# @path: Canonical QOM path of the VirtIODevice
203#
204# Features:
168{ 'struct': 'VirtioStatus',
169 'data': { 'name': 'str',
170 'device-id': 'uint16',
171 'vhost-started': 'bool',
172 'device-endian': 'str',
173 'guest-features': 'VirtioDeviceFeatures',
174 'host-features': 'VirtioDeviceFeatures',
175 'backend-features': 'VirtioDeviceFeatures',

--- 15 unchanged lines hidden (view full) ---

191##
192# @x-query-virtio-status:
193#
194# Poll for a comprehensive status of a given virtio device
195#
196# @path: Canonical QOM path of the VirtIODevice
197#
198# Features:
199#
205# @unstable: This command is meant for debugging.
206#
207# Returns: VirtioStatus of the virtio device
208#
209# Since: 7.2
210#
211# Examples:
212#

--- 215 unchanged lines hidden (view full) ---

428# "use-guest-notifier-mask": true,
429# "vm-running": true,
430# "queue-sel": 2,
431# "disabled": false,
432# "vhost-started": true,
433# "use-started": true
434# }
435# }
200# @unstable: This command is meant for debugging.
201#
202# Returns: VirtioStatus of the virtio device
203#
204# Since: 7.2
205#
206# Examples:
207#

--- 215 unchanged lines hidden (view full) ---

423# "use-guest-notifier-mask": true,
424# "vm-running": true,
425# "queue-sel": 2,
426# "disabled": false,
427# "vhost-started": true,
428# "use-started": true
429# }
430# }
436#
437##
431##
438
439{ 'command': 'x-query-virtio-status',
440 'data': { 'path': 'str' },
441 'returns': 'VirtioStatus',
442 'features': [ 'unstable' ] }
443
444##
445# @VirtioDeviceStatus:
446#
447# A structure defined to list the configuration statuses of a virtio
448# device
449#
450# @statuses: List of decoded configuration statuses of the virtio
432{ 'command': 'x-query-virtio-status',
433 'data': { 'path': 'str' },
434 'returns': 'VirtioStatus',
435 'features': [ 'unstable' ] }
436
437##
438# @VirtioDeviceStatus:
439#
440# A structure defined to list the configuration statuses of a virtio
441# device
442#
443# @statuses: List of decoded configuration statuses of the virtio
451# device
444# device
452#
445#
453# @unknown-statuses: Virtio device statuses bitmap that have not been decoded
446# @unknown-statuses: Virtio device statuses bitmap that have not been
447# decoded
454#
455# Since: 7.2
456##
448#
449# Since: 7.2
450##
457
458{ 'struct': 'VirtioDeviceStatus',
459 'data': { 'statuses': [ 'str' ],
460 '*unknown-statuses': 'uint8' } }
461
462##
463# @VhostDeviceProtocols:
464#
465# A structure defined to list the vhost user protocol features of a
466# Vhost User device
467#
468# @protocols: List of decoded vhost user protocol features of a vhost
451{ 'struct': 'VirtioDeviceStatus',
452 'data': { 'statuses': [ 'str' ],
453 '*unknown-statuses': 'uint8' } }
454
455##
456# @VhostDeviceProtocols:
457#
458# A structure defined to list the vhost user protocol features of a
459# Vhost User device
460#
461# @protocols: List of decoded vhost user protocol features of a vhost
469# user device
462# user device
470#
471# @unknown-protocols: Vhost user device protocol features bitmap that
463#
464# @unknown-protocols: Vhost user device protocol features bitmap that
472# have not been decoded
465# have not been decoded
473#
474# Since: 7.2
475##
466#
467# Since: 7.2
468##
476
477{ 'struct': 'VhostDeviceProtocols',
478 'data': { 'protocols': [ 'str' ],
479 '*unknown-protocols': 'uint64' } }
480
481##
482# @VirtioDeviceFeatures:
483#
469{ 'struct': 'VhostDeviceProtocols',
470 'data': { 'protocols': [ 'str' ],
471 '*unknown-protocols': 'uint64' } }
472
473##
474# @VirtioDeviceFeatures:
475#
484# The common fields that apply to most Virtio devices. Some devices
476# The common fields that apply to most Virtio devices. Some devices
485# may not have their own device-specific features (e.g. virtio-rng).
486#
487# @transports: List of transport features of the virtio device
488#
489# @dev-features: List of device-specific features (if the device has
477# may not have their own device-specific features (e.g. virtio-rng).
478#
479# @transports: List of transport features of the virtio device
480#
481# @dev-features: List of device-specific features (if the device has
490# unique features)
482# unique features)
491#
492# @unknown-dev-features: Virtio device features bitmap that have not
483#
484# @unknown-dev-features: Virtio device features bitmap that have not
493# been decoded
485# been decoded
494#
495# Since: 7.2
496##
486#
487# Since: 7.2
488##
497
498{ 'struct': 'VirtioDeviceFeatures',
499 'data': { 'transports': [ 'str' ],
500 '*dev-features': [ 'str' ],
501 '*unknown-dev-features': 'uint64' } }
502
503##
504# @VirtQueueStatus:
505#

--- 14 unchanged lines hidden (view full) ---

520#
521# @vring-desc: VirtQueue vring.desc (descriptor area)
522#
523# @vring-avail: VirtQueue vring.avail (driver area)
524#
525# @vring-used: VirtQueue vring.used (device area)
526#
527# @last-avail-idx: VirtQueue last_avail_idx or return of vhost_dev
489{ 'struct': 'VirtioDeviceFeatures',
490 'data': { 'transports': [ 'str' ],
491 '*dev-features': [ 'str' ],
492 '*unknown-dev-features': 'uint64' } }
493
494##
495# @VirtQueueStatus:
496#

--- 14 unchanged lines hidden (view full) ---

511#
512# @vring-desc: VirtQueue vring.desc (descriptor area)
513#
514# @vring-avail: VirtQueue vring.avail (driver area)
515#
516# @vring-used: VirtQueue vring.used (device area)
517#
518# @last-avail-idx: VirtQueue last_avail_idx or return of vhost_dev
528# vhost_get_vring_base (if vhost active)
519# vhost_get_vring_base (if vhost active)
529#
530# @shadow-avail-idx: VirtQueue shadow_avail_idx
531#
532# @used-idx: VirtQueue used_idx
533#
534# @signalled-used: VirtQueue signalled_used
535#
536# @signalled-used-valid: VirtQueue signalled_used_valid flag
537#
538# Since: 7.2
520#
521# @shadow-avail-idx: VirtQueue shadow_avail_idx
522#
523# @used-idx: VirtQueue used_idx
524#
525# @signalled-used: VirtQueue signalled_used
526#
527# @signalled-used-valid: VirtQueue signalled_used_valid flag
528#
529# Since: 7.2
539#
540##
530##
541
542{ 'struct': 'VirtQueueStatus',
543 'data': { 'name': 'str',
544 'queue-index': 'uint16',
545 'inuse': 'uint32',
546 'vring-num': 'uint32',
547 'vring-num-default': 'uint32',
548 'vring-align': 'uint32',
549 'vring-desc': 'uint64',

--- 10 unchanged lines hidden (view full) ---

560#
561# Return the status of a given VirtIODevice's VirtQueue
562#
563# @path: VirtIODevice canonical QOM path
564#
565# @queue: VirtQueue index to examine
566#
567# Features:
531{ 'struct': 'VirtQueueStatus',
532 'data': { 'name': 'str',
533 'queue-index': 'uint16',
534 'inuse': 'uint32',
535 'vring-num': 'uint32',
536 'vring-num-default': 'uint32',
537 'vring-align': 'uint32',
538 'vring-desc': 'uint64',

--- 10 unchanged lines hidden (view full) ---

549#
550# Return the status of a given VirtIODevice's VirtQueue
551#
552# @path: VirtIODevice canonical QOM path
553#
554# @queue: VirtQueue index to examine
555#
556# Features:
557#
568# @unstable: This command is meant for debugging.
569#
570# Returns: VirtQueueStatus of the VirtQueue
571#
558# @unstable: This command is meant for debugging.
559#
560# Returns: VirtQueueStatus of the VirtQueue
561#
572# Notes: last_avail_idx will not be displayed in the case where
573# the selected VirtIODevice has a running vhost device and
574# the VirtIODevice VirtQueue index (queue) does not exist for
575# the corresponding vhost device vhost_virtqueue. Also,
576# shadow_avail_idx will not be displayed in the case where
577# the selected VirtIODevice has a running vhost device.
562# Notes: last_avail_idx will not be displayed in the case where the
563# selected VirtIODevice has a running vhost device and the
564# VirtIODevice VirtQueue index (queue) does not exist for the
565# corresponding vhost device vhost_virtqueue. Also,
566# shadow_avail_idx will not be displayed in the case where the
567# selected VirtIODevice has a running vhost device.
578#
579# Since: 7.2
580#
581# Examples:
582#
583# 1. Get VirtQueueStatus for virtio-vsock (vhost-vsock running)
584#
585# -> { "execute": "x-query-virtio-queue-status",

--- 35 unchanged lines hidden (view full) ---

621# "queue-index": 20,
622# "last-avail-idx": 0,
623# "vring-used": 5182077248,
624# "used-idx": 0,
625# "shadow-avail-idx": 0,
626# "vring-num": 128
627# }
628# }
568#
569# Since: 7.2
570#
571# Examples:
572#
573# 1. Get VirtQueueStatus for virtio-vsock (vhost-vsock running)
574#
575# -> { "execute": "x-query-virtio-queue-status",

--- 35 unchanged lines hidden (view full) ---

611# "queue-index": 20,
612# "last-avail-idx": 0,
613# "vring-used": 5182077248,
614# "used-idx": 0,
615# "shadow-avail-idx": 0,
616# "vring-num": 128
617# }
618# }
629#
630##
619##
631
632{ 'command': 'x-query-virtio-queue-status',
633 'data': { 'path': 'str', 'queue': 'uint16' },
634 'returns': 'VirtQueueStatus',
635 'features': [ 'unstable' ] }
636
637##
638# @VirtVhostQueueStatus:
639#

--- 22 unchanged lines hidden (view full) ---

662#
663# @avail-size: vhost_virtqueue avail_size
664#
665# @used-phys: vhost_virtqueue used_phys (device area phys. addr.)
666#
667# @used-size: vhost_virtqueue used_size
668#
669# Since: 7.2
620{ 'command': 'x-query-virtio-queue-status',
621 'data': { 'path': 'str', 'queue': 'uint16' },
622 'returns': 'VirtQueueStatus',
623 'features': [ 'unstable' ] }
624
625##
626# @VirtVhostQueueStatus:
627#

--- 22 unchanged lines hidden (view full) ---

650#
651# @avail-size: vhost_virtqueue avail_size
652#
653# @used-phys: vhost_virtqueue used_phys (device area phys. addr.)
654#
655# @used-size: vhost_virtqueue used_size
656#
657# Since: 7.2
670#
671##
658##
672
673{ 'struct': 'VirtVhostQueueStatus',
674 'data': { 'name': 'str',
675 'kick': 'int',
676 'call': 'int',
677 'desc': 'uint64',
678 'avail': 'uint64',
679 'used': 'uint64',
680 'num': 'int',

--- 9 unchanged lines hidden (view full) ---

690#
691# Return information of a given vhost device's vhost_virtqueue
692#
693# @path: VirtIODevice canonical QOM path
694#
695# @queue: vhost_virtqueue index to examine
696#
697# Features:
659{ 'struct': 'VirtVhostQueueStatus',
660 'data': { 'name': 'str',
661 'kick': 'int',
662 'call': 'int',
663 'desc': 'uint64',
664 'avail': 'uint64',
665 'used': 'uint64',
666 'num': 'int',

--- 9 unchanged lines hidden (view full) ---

676#
677# Return information of a given vhost device's vhost_virtqueue
678#
679# @path: VirtIODevice canonical QOM path
680#
681# @queue: vhost_virtqueue index to examine
682#
683# Features:
684#
698# @unstable: This command is meant for debugging.
699#
700# Returns: VirtVhostQueueStatus of the vhost_virtqueue
701#
702# Since: 7.2
703#
704# Examples:
705#

--- 37 unchanged lines hidden (view full) ---

743# "num": 128,
744# "call": 0,
745# "avail": 140141413582848,
746# "desc-phys": 5182259200,
747# "used": 140141413583168,
748# "kick": 0
749# }
750# }
685# @unstable: This command is meant for debugging.
686#
687# Returns: VirtVhostQueueStatus of the vhost_virtqueue
688#
689# Since: 7.2
690#
691# Examples:
692#

--- 37 unchanged lines hidden (view full) ---

730# "num": 128,
731# "call": 0,
732# "avail": 140141413582848,
733# "desc-phys": 5182259200,
734# "used": 140141413583168,
735# "kick": 0
736# }
737# }
751#
752##
738##
753
754{ 'command': 'x-query-virtio-vhost-queue-status',
755 'data': { 'path': 'str', 'queue': 'uint16' },
756 'returns': 'VirtVhostQueueStatus',
757 'features': [ 'unstable' ] }
758
759##
760# @VirtioRingDesc:
761#
762# Information regarding the vring descriptor area
763#
764# @addr: Guest physical address of the descriptor area
765#
766# @len: Length of the descriptor area
767#
768# @flags: List of descriptor flags
769#
770# Since: 7.2
739{ 'command': 'x-query-virtio-vhost-queue-status',
740 'data': { 'path': 'str', 'queue': 'uint16' },
741 'returns': 'VirtVhostQueueStatus',
742 'features': [ 'unstable' ] }
743
744##
745# @VirtioRingDesc:
746#
747# Information regarding the vring descriptor area
748#
749# @addr: Guest physical address of the descriptor area
750#
751# @len: Length of the descriptor area
752#
753# @flags: List of descriptor flags
754#
755# Since: 7.2
771#
772##
756##
773
774{ 'struct': 'VirtioRingDesc',
775 'data': { 'addr': 'uint64',
776 'len': 'uint32',
777 'flags': [ 'str' ] } }
778
779##
780# @VirtioRingAvail:
781#
782# Information regarding the avail vring (a.k.a. driver area)
783#
784# @flags: VRingAvail flags
785#
786# @idx: VRingAvail index
787#
788# @ring: VRingAvail ring[] entry at provided index
789#
790# Since: 7.2
757{ 'struct': 'VirtioRingDesc',
758 'data': { 'addr': 'uint64',
759 'len': 'uint32',
760 'flags': [ 'str' ] } }
761
762##
763# @VirtioRingAvail:
764#
765# Information regarding the avail vring (a.k.a. driver area)
766#
767# @flags: VRingAvail flags
768#
769# @idx: VRingAvail index
770#
771# @ring: VRingAvail ring[] entry at provided index
772#
773# Since: 7.2
791#
792##
774##
793
794{ 'struct': 'VirtioRingAvail',
795 'data': { 'flags': 'uint16',
796 'idx': 'uint16',
797 'ring': 'uint16' } }
798
799##
800# @VirtioRingUsed:
801#
802# Information regarding the used vring (a.k.a. device area)
803#
804# @flags: VRingUsed flags
805#
806# @idx: VRingUsed index
807#
808# Since: 7.2
775{ 'struct': 'VirtioRingAvail',
776 'data': { 'flags': 'uint16',
777 'idx': 'uint16',
778 'ring': 'uint16' } }
779
780##
781# @VirtioRingUsed:
782#
783# Information regarding the used vring (a.k.a. device area)
784#
785# @flags: VRingUsed flags
786#
787# @idx: VRingUsed index
788#
789# Since: 7.2
809#
810##
790##
811
812{ 'struct': 'VirtioRingUsed',
813 'data': { 'flags': 'uint16',
814 'idx': 'uint16' } }
815
816##
817# @VirtioQueueElement:
818#
819# Information regarding a VirtQueue's VirtQueueElement including

--- 5 unchanged lines hidden (view full) ---

825#
826# @descs: List of descriptors (VirtioRingDesc)
827#
828# @avail: VRingAvail info
829#
830# @used: VRingUsed info
831#
832# Since: 7.2
791{ 'struct': 'VirtioRingUsed',
792 'data': { 'flags': 'uint16',
793 'idx': 'uint16' } }
794
795##
796# @VirtioQueueElement:
797#
798# Information regarding a VirtQueue's VirtQueueElement including

--- 5 unchanged lines hidden (view full) ---

804#
805# @descs: List of descriptors (VirtioRingDesc)
806#
807# @avail: VRingAvail info
808#
809# @used: VRingUsed info
810#
811# Since: 7.2
833#
834##
812##
835
836{ 'struct': 'VirtioQueueElement',
837 'data': { 'name': 'str',
838 'index': 'uint32',
839 'descs': [ 'VirtioRingDesc' ],
840 'avail': 'VirtioRingAvail',
841 'used': 'VirtioRingUsed' } }
842
843##
844# @x-query-virtio-queue-element:
845#
846# Return the information about a VirtQueue's VirtQueueElement
847#
848# @path: VirtIODevice canonical QOM path
849#
850# @queue: VirtQueue index to examine
851#
813{ 'struct': 'VirtioQueueElement',
814 'data': { 'name': 'str',
815 'index': 'uint32',
816 'descs': [ 'VirtioRingDesc' ],
817 'avail': 'VirtioRingAvail',
818 'used': 'VirtioRingUsed' } }
819
820##
821# @x-query-virtio-queue-element:
822#
823# Return the information about a VirtQueue's VirtQueueElement
824#
825# @path: VirtIODevice canonical QOM path
826#
827# @queue: VirtQueue index to examine
828#
852# @index: Index of the element in the queue
853# (default: head of the queue)
829# @index: Index of the element in the queue (default: head of the
830# queue)
854#
855# Features:
831#
832# Features:
833#
856# @unstable: This command is meant for debugging.
857#
858# Returns: VirtioQueueElement information
859#
860# Since: 7.2
861#
862# Examples:
863#

--- 76 unchanged lines hidden (view full) ---

940# "ring": 19
941# },
942# "used": {
943# "idx": 280,
944# "flags": 0
945# }
946# }
947# }
834# @unstable: This command is meant for debugging.
835#
836# Returns: VirtioQueueElement information
837#
838# Since: 7.2
839#
840# Examples:
841#

--- 76 unchanged lines hidden (view full) ---

918# "ring": 19
919# },
920# "used": {
921# "idx": 280,
922# "flags": 0
923# }
924# }
925# }
948#
949##
926##
950
951{ 'command': 'x-query-virtio-queue-element',
952 'data': { 'path': 'str', 'queue': 'uint16', '*index': 'uint16' },
953 'returns': 'VirtioQueueElement',
954 'features': [ 'unstable' ] }
927{ 'command': 'x-query-virtio-queue-element',
928 'data': { 'path': 'str', 'queue': 'uint16', '*index': 'uint16' },
929 'returns': 'VirtioQueueElement',
930 'features': [ 'unstable' ] }