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