These patches update a few things related to virtio introspection via.
QMP/HMP commands.
1. Remove 'virtio_list' and instead query the QOM composition tree to
find any active & realized virtio devices.
The 'virtio_list' was duplicating information about virtio devices that
was already available in the QOM composition tree, so there was no need
to keep this list.
2. Add new transport, protocol, and device features as well as support
to introspect vhost-user-gpio devices.
Vhost-user-gpio previously had no support for introspection. Support for
introspecting its vhost-user device is now available in these patches.
3. Move VhostUserProtocolFeature definition to its corresponding header
file (vhost-user.h). Cleanup previous definitions in other files.
VhostUserProtocolFeature was being defined in 3 separate files. Instead
of 3 separate definitions, use one instead and add it to the
vhost-user.h header file.
New vhost-user protocol feature:
--------------------------------
- VHOST_USER_PROTOCOL_F_STATUS
New virtio device features:
---------------------------
virtio-blk:
- VIRTIO_BLK_F_SECURE_ERASE
virtio-net:
- VIRTIO_NET_F_NOTF_COAL
- VIRTIO_NET_F_GUEST_USO4
- VIRTIO_NET_F_GUEST_USO6
- VIRTIO_NET_F_HOST_USO
virtio/vhost-user-gpio:
- VIRTIO_GPIO_F_IRQ
- VHOST_USER_F_PROTOCOL_FEATURES
v4: use 'g_autofree char *' instead of 'gchar *'
remove unneeded object unreferences ('object_unref')
remove 'VHOST_F_LOG_ALL' in virtio-gpio feature map
remove 'VIRTIO_F_RING_RESET' in transport feature map (already
exists)
v3: use recursion and type casting to find realized virtio devices
remove virtio scmi & bluetooth feature mappings
revert virtio scmi & bluetooth case changes in qmp_decode_features
change config define for VIRTIO_GPIO to CONFIG_VHOST_USER_GPIO
move VhostUserProtocolFeature definition to header file
v2: verify virtio devices via. 'TYPE_VIRTIO_DEVICES'
verify path is a virtio device before checking if it's realized
remove 'VIRTIO_BLK_F_ZONED' update (already exists)
add cover letter
Jonah Palmer (3):
qmp: remove virtio_list, search QOM tree instead
qmp: update virtio feature maps, vhost-user-gpio introspection
vhost-user: move VhostUserProtocolFeature definition to header file
hw/scsi/vhost-user-scsi.c | 4 -
hw/virtio/vhost-user-gpio.c | 7 ++
hw/virtio/vhost-user.c | 21 -----
hw/virtio/virtio-qmp.c | 142 +++++++++++++++------------------
hw/virtio/virtio-qmp.h | 7 --
hw/virtio/virtio.c | 6 --
include/hw/virtio/vhost-user.h | 21 +++++
7 files changed, 93 insertions(+), 115 deletions(-)
--
2.39.3