Hi, This series is a sub-set of patches while I was trying to re-rev my virtio-rpmb patches. It attempts to address a few things:
- improve documentation for virtio/vhost/vhost-user - document some of the API - a hacky fix for F_CONFIG handling - putting VhostUserState on a diet, make VhostUserHostNotifier dynamic In particular I've been trying to better understand how vhost-user interactions are meant to work and why there are two different methods for instantiating them. If my supposition is correct perhaps a number of devices that don't have in-kernel vhost equivalents could be converted? While working onthe VhostUserHostNotifier changes I found it quite hard to trigger the code. Is this rarely used code or just requires backends we don't see in the testing? Alex Bennée (10): hw/virtio: move virtio-pci.h into shared include space virtio-pci: add notification trace points hw/virtio: add vhost_user_[read|write] trace points vhost-user.rst: add clarifying language about protocol negotiation libvhost-user: expose vu_request_to_string docs/devel: start documenting writing VirtIO devices include/hw: start documenting the vhost API contrib/vhost-user-blk: fix 32 bit build and enable hw/virtio/vhost-user: don't suppress F_CONFIG when supported virtio/vhost-user: dynamically assign VhostUserHostNotifiers Paolo Bonzini (3): docs: vhost-user: clean up request/reply description docs: vhost-user: rewrite section on ring state machine docs: vhost-user: replace master/slave with front-end/back-end docs/devel/index-internals.rst | 1 + docs/devel/virtio-backends.rst | 214 +++++++++ docs/interop/vhost-user-gpu.rst | 10 +- docs/interop/vhost-user.rst | 555 ++++++++++++---------- meson.build | 2 +- include/hw/virtio/vhost-user.h | 43 +- include/hw/virtio/vhost.h | 132 ++++- {hw => include/hw}/virtio/virtio-pci.h | 0 subprojects/libvhost-user/libvhost-user.h | 9 + contrib/vhost-user-blk/vhost-user-blk.c | 6 +- hw/scsi/vhost-user-scsi.c | 1 + hw/virtio/vhost-scsi-pci.c | 2 +- hw/virtio/vhost-user-blk-pci.c | 2 +- hw/virtio/vhost-user-fs-pci.c | 2 +- hw/virtio/vhost-user-i2c-pci.c | 2 +- hw/virtio/vhost-user-input-pci.c | 2 +- hw/virtio/vhost-user-rng-pci.c | 2 +- hw/virtio/vhost-user-scsi-pci.c | 2 +- hw/virtio/vhost-user-vsock-pci.c | 2 +- hw/virtio/vhost-user.c | 133 ++++-- hw/virtio/vhost-vsock-pci.c | 2 +- hw/virtio/virtio-9p-pci.c | 2 +- hw/virtio/virtio-balloon-pci.c | 2 +- hw/virtio/virtio-blk-pci.c | 2 +- hw/virtio/virtio-input-host-pci.c | 2 +- hw/virtio/virtio-input-pci.c | 2 +- hw/virtio/virtio-iommu-pci.c | 2 +- hw/virtio/virtio-net-pci.c | 2 +- hw/virtio/virtio-pci.c | 5 +- hw/virtio/virtio-rng-pci.c | 2 +- hw/virtio/virtio-scsi-pci.c | 2 +- hw/virtio/virtio-serial-pci.c | 2 +- subprojects/libvhost-user/libvhost-user.c | 2 +- contrib/vhost-user-blk/meson.build | 3 +- hw/virtio/trace-events | 10 +- 35 files changed, 831 insertions(+), 333 deletions(-) create mode 100644 docs/devel/virtio-backends.rst rename {hw => include/hw}/virtio/virtio-pci.h (100%) -- 2.30.2