Lines Matching +full:- +full:- +full:disable +full:- +full:vhost +full:- +full:vsock
1 # -*- Mode: Python -*-
25 # @x-query-virtio:
37 # .. qmp-example::
39 # -> { "execute": "x-query-virtio" }
40 # <- { "return": [
42 # "name": "virtio-input",
43 # "path": "/machine/peripheral-anon/device[4]/virtio-backend"
46 # "name": "virtio-crypto",
47 # "path": "/machine/peripheral/crypto0/virtio-backend"
50 # "name": "virtio-scsi",
51 # "path": "/machine/peripheral-anon/device[2]/virtio-backend"
54 # "name": "virtio-net",
55 # "path": "/machine/peripheral-anon/device[1]/virtio-backend"
58 # "name": "virtio-serial",
59 # "path": "/machine/peripheral-anon/device[0]/virtio-backend"
64 { 'command': 'x-query-virtio',
71 # Information about a vhost device. This information will only be
72 # displayed if the vhost device is active.
74 # @n-mem-sections: vhost_dev n_mem_sections
76 # @n-tmp-sections: vhost_dev n_tmp_sections
80 # @vq-index: vhost_dev vq_index
84 # @acked-features: vhost_dev acked_features
86 # @backend-features: vhost_dev backend_features
88 # @protocol-features: vhost_dev protocol_features
90 # @max-queues: vhost_dev max_queues
92 # @backend-cap: vhost_dev backend_cap
94 # @log-enabled: vhost_dev log_enabled flag
96 # @log-size: vhost_dev log_size
101 'data': { 'n-mem-sections': 'int',
102 'n-tmp-sections': 'int',
104 'vq-index': 'int',
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' } }
118 # Also includes the full status of the corresponding vhost device if
119 # the vhost device is active.
123 # @device-id: VirtIODevice ID
125 # @vhost-started: VirtIODevice vhost_started flag
127 # @guest-features: VirtIODevice guest_features
129 # @host-features: VirtIODevice host_features
131 # @backend-features: VirtIODevice backend_features
133 # @device-endian: VirtIODevice device_endian
135 # @num-vqs: VirtIODevice virtqueue count. This is the number of
142 # @queue-sel: VirtIODevice queue_sel
144 # @vm-running: VirtIODevice vm_running flag
150 # @use-started: VirtIODevice use_started flag
154 # @start-on-kick: VirtIODevice start_on_kick flag
156 # @disable-legacy-check: VirtIODevice disabled_legacy_check flag
158 # @bus-name: VirtIODevice bus_name
160 # @use-guest-notifier-mask: VirtIODevice use_guest_notifier_mask flag
162 # @vhost-dev: Corresponding vhost device info for a given
164 # vhost device.
170 'device-id': 'uint16',
171 'vhost-started': 'bool',
172 'device-endian': 'str',
173 'guest-features': 'VirtioDeviceFeatures',
174 'host-features': 'VirtioDeviceFeatures',
175 'backend-features': 'VirtioDeviceFeatures',
176 'num-vqs': 'int',
179 'queue-sel': 'uint16',
180 'vm-running': 'bool',
183 'use-started': 'bool',
185 'start-on-kick': 'bool',
186 'disable-legacy-check': 'bool',
187 'bus-name': 'str',
188 'use-guest-notifier-mask': 'bool',
189 '*vhost-dev': 'VhostStatus' } }
192 # @x-query-virtio-status:
206 # .. qmp-example::
209 # Poll for the status of virtio-crypto (no vhost-crypto active)
212 # -> { "execute": "x-query-virtio-status",
213 # "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend" }
215 # <- { "return": {
216 # "device-endian": "little",
217 # "bus-name": "",
218 # "disable-legacy-check": false,
219 # "name": "virtio-crypto",
221 # "device-id": 20,
222 # "backend-features": {
224 # "dev-features": []
226 # "start-on-kick": false,
237 # "num-vqs": 2,
238 # "guest-features": {
239 # "dev-features": [],
246 # "host-features": {
247 # "unknown-dev-features": 1073741824,
248 # "dev-features": [],
257 # "use-guest-notifier-mask": true,
258 # "vm-running": true,
259 # "queue-sel": 1,
261 # "vhost-started": false,
262 # "use-started": true
266 # .. qmp-example::
269 # Poll for the status of virtio-net (vhost-net is active)
272 # -> { "execute": "x-query-virtio-status",
273 # "arguments": { "path": "/machine/peripheral-anon/device[1]/virtio-backend" }
275 # <- { "return": {
276 # "device-endian": "little",
277 # "bus-name": "",
278 # "disabled-legacy-check": false,
279 # "name": "virtio-net",
281 # "device-id": 1,
282 # "vhost-dev": {
283 # "n-tmp-sections": 4,
284 # "n-mem-sections": 4,
285 # "max-queues": 1,
286 # "backend-cap": 2,
287 # "log-size": 0,
288 # "backend-features": {
289 # "dev-features": [],
293 # "protocol-features": {
296 # "vq-index": 0,
297 # "log-enabled": false,
298 # "acked-features": {
299 # "dev-features": [
309 # "dev-features": [
323 # "backend-features": {
324 # "dev-features": [
325 # "VHOST_USER_F_PROTOCOL_FEATURES: Vhost-user protocol features negotiation su…
326 # "VIRTIO_NET_F_GSO: Handling GSO-type packets supported",
356 # "start-on-kick": false,
367 # "num-vqs": 3,
368 # "guest-features": {
369 # "dev-features": [
396 # "host-features": {
397 # "dev-features": [
398 # "VHOST_USER_F_PROTOCOL_FEATURES: Vhost-user protocol features negotiation su…
399 # "VIRTIO_NET_F_GSO: Handling GSO-type packets supported",
429 # "use-guest-notifier-mask": true,
430 # "vm-running": true,
431 # "queue-sel": 2,
433 # "vhost-started": true,
434 # "use-started": true
438 { 'command': 'x-query-virtio-status',
452 # @unknown-statuses: Virtio device statuses bitmap that have not been
459 '*unknown-statuses': 'uint8' } }
464 # A structure defined to list the vhost user protocol features of a
465 # Vhost User device
467 # @protocols: List of decoded vhost user protocol features of a vhost
470 # @unknown-protocols: Vhost user device protocol features bitmap that
477 '*unknown-protocols': 'uint64' } }
483 # may not have their own device-specific features (e.g. virtio-rng).
487 # @dev-features: List of device-specific features (if the device has
490 # @unknown-dev-features: Virtio device features bitmap that have not
497 '*dev-features': [ 'str' ],
498 '*unknown-dev-features': 'uint64' } }
508 # @queue-index: VirtQueue queue_index
512 # @vring-num: VirtQueue vring.num
514 # @vring-num-default: VirtQueue vring.num_default
516 # @vring-align: VirtQueue vring.align
518 # @vring-desc: VirtQueue vring.desc (descriptor area)
520 # @vring-avail: VirtQueue vring.avail (driver area)
522 # @vring-used: VirtQueue vring.used (device area)
524 # @last-avail-idx: VirtQueue last_avail_idx or return of vhost_dev
525 # vhost_get_vring_base (if vhost active)
527 # @shadow-avail-idx: VirtQueue shadow_avail_idx
529 # @used-idx: VirtQueue used_idx
531 # @signalled-used: VirtQueue signalled_used
533 # @signalled-used-valid: VirtQueue signalled_used_valid flag
539 'queue-index': 'uint16',
541 'vring-num': 'uint32',
542 'vring-num-default': 'uint32',
543 'vring-align': 'uint32',
544 'vring-desc': 'uint64',
545 'vring-avail': 'uint64',
546 'vring-used': 'uint64',
547 '*last-avail-idx': 'uint16',
548 '*shadow-avail-idx': 'uint16',
549 'used-idx': 'uint16',
550 'signalled-used': 'uint16',
551 'signalled-used-valid': 'bool' } }
554 # @x-query-virtio-queue-status:
569 # selected VirtIODevice has a running vhost device and the
571 # corresponding vhost device vhost_virtqueue. Also,
573 # selected VirtIODevice has a running vhost device.
577 # .. qmp-example::
580 # Get VirtQueueStatus for virtio-vsock (vhost-vsock running)
583 # -> { "execute": "x-query-virtio-queue-status",
584 # "arguments": { "path": "/machine/peripheral/vsock0/virtio-backend",
587 # <- { "return": {
588 # "signalled-used": 0,
590 # "name": "vhost-vsock",
591 # "vring-align": 4096,
592 # "vring-desc": 5217370112,
593 # "signalled-used-valid": false,
594 # "vring-num-default": 128,
595 # "vring-avail": 5217372160,
596 # "queue-index": 1,
597 # "last-avail-idx": 0,
598 # "vring-used": 5217372480,
599 # "used-idx": 0,
600 # "vring-num": 128
604 # .. qmp-example::
607 # Get VirtQueueStatus for virtio-serial (no vhost)
610 # -> { "execute": "x-query-virtio-queue-status",
611 # "arguments": { "path": "/machine/peripheral-anon/device[0]/virtio-backend",
614 # <- { "return": {
615 # "signalled-used": 0,
617 # "name": "virtio-serial",
618 # "vring-align": 4096,
619 # "vring-desc": 5182074880,
620 # "signalled-used-valid": false,
621 # "vring-num-default": 128,
622 # "vring-avail": 5182076928,
623 # "queue-index": 20,
624 # "last-avail-idx": 0,
625 # "vring-used": 5182077248,
626 # "used-idx": 0,
627 # "shadow-avail-idx": 0,
628 # "vring-num": 128
632 { 'command': 'x-query-virtio-queue-status',
640 # Information of a vhost device's vhost_virtqueue, including most
657 # @desc-phys: vhost_virtqueue desc_phys (descriptor area physical
660 # @desc-size: vhost_virtqueue desc_size
662 # @avail-phys: vhost_virtqueue avail_phys (driver area physical
665 # @avail-size: vhost_virtqueue avail_size
667 # @used-phys: vhost_virtqueue used_phys (device area physical address)
669 # @used-size: vhost_virtqueue used_size
681 'desc-phys': 'uint64',
682 'desc-size': 'uint32',
683 'avail-phys': 'uint64',
684 'avail-size': 'uint32',
685 'used-phys': 'uint64',
686 'used-size': 'uint32' } }
689 # @x-query-virtio-vhost-queue-status:
691 # Return information of a given vhost device's vhost_virtqueue
705 # .. qmp-example::
706 # :title: Get vhost_virtqueue status for vhost-crypto
708 # -> { "execute": "x-query-virtio-vhost-queue-status",
709 # "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend",
712 # <- { "return": {
713 # "avail-phys": 5216124928,
714 # "name": "virtio-crypto",
715 # "used-phys": 5216127040,
716 # "avail-size": 2054,
717 # "desc-size": 16384,
718 # "used-size": 8198,
723 # "desc-phys": 5216108544,
729 # .. qmp-example::
730 # :title: Get vhost_virtqueue status for vhost-vsock
732 # -> { "execute": "x-query-virtio-vhost-queue-status",
733 # "arguments": { "path": "/machine/peripheral/vsock0/virtio-backend",
736 # <- { "return": {
737 # "avail-phys": 5182261248,
738 # "name": "vhost-vsock",
739 # "used-phys": 5182261568,
740 # "avail-size": 262,
741 # "desc-size": 2048,
742 # "used-size": 1030,
747 # "desc-phys": 5182259200,
753 { 'command': 'x-query-virtio-vhost-queue-status',
835 # @x-query-virtio-queue-element:
854 # .. qmp-example::
855 # :title: Introspect on virtio-net's VirtQueue 0 at index 5
857 # -> { "execute": "x-query-virtio-queue-element",
858 # "arguments": { "path": "/machine/peripheral-anon/device[1]/virtio-backend",
862 # <- { "return": {
864 # "name": "virtio-net",
884 # .. qmp-example::
885 # :title: Introspect on virtio-crypto's VirtQueue 1 at head
887 # -> { "execute": "x-query-virtio-queue-element",
888 # "arguments": { "path": "/machine/peripheral/crypto0/virtio-backend",
891 # <- { "return": {
893 # "name": "virtio-crypto",
913 # .. qmp-example::
914 # :title: Introspect on virtio-scsi's VirtQueue 2 at head
916 # -> { "execute": "x-query-virtio-queue-element",
917 # "arguments": { "path": "/machine/peripheral-anon/device[2]/virtio-backend",
920 # <- { "return": {
922 # "name": "virtio-scsi",
942 { 'command': 'x-query-virtio-queue-element',
955 # this IOThread. When absent, virtqueues are assigned round-robin
976 'data': { 'unused-iothread-vq-mapping': ['IOThreadVirtQueueMapping'] } }