A lot of our vhost-user stubs are large chunks of boilerplate that do
(mostly) the same thing. This series continues the cleanups by
splitting the vhost-user-base and vhost-user-generic implementations.
After adding a new vq_size property the rng, gpio and i2c vhost-user
devices become simple specialisations of the common base defining the
ID, number of queues and potentially the config handling.
I've also added Manos' vhost-user-sound while I was at it.
Changes
-------
v7
- various review comments
- move to async teardown (fixes CI failure)
v6
- re-base to current master
- make vhost-user-device abstract
- mention abstractness in docs
v5
- addressing comments and tags
- improved the docs
v4
- dropped the F_TRANSPORT work for another series
- added vhost-user-sound
Alex Bennée (6):
virtio: split into vhost-user-base and vhost-user-device
hw/virtio: convert vhost-user-base to async shutdown
hw/virtio: derive vhost-user-rng from vhost-user-base
hw/virtio: derive vhost-user-gpio from vhost-user-base
hw/virtio: derive vhost-user-i2c from vhost-user-base
docs/system: add a basic enumeration of vhost-user devices
Manos Pitsidianakis (1):
hw/virtio: add vhost-user-snd and virtio-snd-pci devices
MAINTAINERS | 13 +
docs/system/devices/vhost-user-rng.rst | 2 +
docs/system/devices/vhost-user.rst | 70 ++-
...{vhost-user-device.h => vhost-user-base.h} | 21 +-
include/hw/virtio/vhost-user-gpio.h | 25 +-
include/hw/virtio/vhost-user-i2c.h | 14 +-
include/hw/virtio/vhost-user-rng.h | 13 +-
include/hw/virtio/vhost-user-snd.h | 24 ++
hw/virtio/vhost-user-base.c | 354 +++++++++++++++
hw/virtio/vhost-user-device-pci.c | 13 +-
hw/virtio/vhost-user-device.c | 338 +--------------
hw/virtio/vhost-user-gpio.c | 406 +-----------------
hw/virtio/vhost-user-i2c.c | 272 +-----------
hw/virtio/vhost-user-rng.c | 278 +-----------
hw/virtio/vhost-user-snd-pci.c | 75 ++++
hw/virtio/vhost-user-snd.c | 67 +++
hw/virtio/Kconfig | 5 +
hw/virtio/meson.build | 23 +-
18 files changed, 719 insertions(+), 1294 deletions(-)
rename include/hw/virtio/{vhost-user-device.h => vhost-user-base.h} (71%)
create mode 100644 include/hw/virtio/vhost-user-snd.h
create mode 100644 hw/virtio/vhost-user-base.c
create mode 100644 hw/virtio/vhost-user-snd-pci.c
create mode 100644 hw/virtio/vhost-user-snd.c
--
2.39.2