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

Reply via email to