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 | 154 ++++++++++++++++----------------- hw/virtio/virtio-qmp.h | 7 -- hw/virtio/virtio.c | 6 -- include/hw/virtio/vhost-user.h | 21 +++++ 7 files changed, 105 insertions(+), 115 deletions(-)
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 virtio transport feature:
-----------------------------
- VIRTIO_F_RING_RESET
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_F_LOG_ALL
- VHOST_USER_F_PROTOCOL_FEATURES
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 | 154 ++++++++++++++++-----------------
hw/virtio/virtio-qmp.h | 7 --
hw/virtio/virtio.c | 6 --
include/hw/virtio/vhost-user.h | 21 +++++
7 files changed, 105 insertions(+), 115 deletions(-)
--
2.39.3
On Thu, Aug 03, 2023 at 10:54:57AM -0400, Jonah Palmer wrote: > 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 virtio transport feature: > ----------------------------- > - VIRTIO_F_RING_RESET > > 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_F_LOG_ALL > - VHOST_USER_F_PROTOCOL_FEATURES VHOST_F_LOG_ALL likely does not make sense. > 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 | 154 ++++++++++++++++----------------- > hw/virtio/virtio-qmp.h | 7 -- > hw/virtio/virtio.c | 6 -- > include/hw/virtio/vhost-user.h | 21 +++++ > 7 files changed, 105 insertions(+), 115 deletions(-) > > -- > 2.39.3
On 8/3/23 15:50, Michael S. Tsirkin wrote: > On Thu, Aug 03, 2023 at 10:54:57AM -0400, Jonah Palmer wrote: >> 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 virtio transport feature: >> ----------------------------- >> - VIRTIO_F_RING_RESET >> >> 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_F_LOG_ALL >> - VHOST_USER_F_PROTOCOL_FEATURES > VHOST_F_LOG_ALL likely does not make sense. > Ah, okay. I can remove this in v4. I'm not very familiar with virtio/vhost-user-gpio other than that it's a virtual general-purpose I/O controller that maps native GPIOs to a VM, allowing the VM to perform GPIO operations via. it. I wasn't sure if the vhost-user version of it would make use of this feature. >> 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 | 154 ++++++++++++++++----------------- >> hw/virtio/virtio-qmp.h | 7 -- >> hw/virtio/virtio.c | 6 -- >> include/hw/virtio/vhost-user.h | 21 +++++ >> 7 files changed, 105 insertions(+), 115 deletions(-) >> >> -- >> 2.39.3
© 2016 - 2026 Red Hat, Inc.