vDPA device is a device that uses a datapath which complies with the virtio specifications with vendor specific control path. vDPA devices can be both physically located on the hardware or emulated by software. This PATCH introduce the vDPA support in qemu TODO 1) vIOMMU support 2) live migration support 3) docs for vhost-vdpa 4) config interrupt support
Change from v1 separate the patch of vhost_vq_get_addr separate the patch of vhost_dev_start introduce the docmation for vhost-vdpa.rst other comments form last version github address: https://github.com/lulu-github-name/qemutmp.git PATCHV2 Change from v2 fix the complie problem separate the patch of vhost_force_iommu other comments form last version github address: https://github.com/lulu-github-name/qemutmp.git PATCHV3 Cindy Lu (10): net: introduce qemu_get_peer vhost_net: use the function qemu_get_peer vhost: introduce new VhostOps vhost_dev_start vhost: implement vhost_dev_start method vhost: introduce new VhostOps vhost_vq_get_addr vhost: implement vhost_vq_get_addr method vhost: introduce new VhostOps vhost_force_iommu vhost: implement vhost_force_iommu method vhost-vdpa: introduce vhost-vdpa backend vhost-vdpa: introduce vhost-vdpa net client Jason Wang (3): virtio-bus: introduce queue_enabled method virtio-pci: implement queue_enabled method vhost: check the existence of vhost_set_iotlb_callback configure | 21 ++ docs/interop/index.rst | 1 + docs/interop/vhost-vdpa.rst | 17 ++ hw/net/vhost_net.c | 35 ++- hw/net/virtio-net.c | 20 ++ hw/virtio/Makefile.objs | 1 + hw/virtio/vhost-backend.c | 6 + hw/virtio/vhost-vdpa.c | 475 ++++++++++++++++++++++++++++++ hw/virtio/vhost.c | 52 +++- hw/virtio/virtio-pci.c | 13 + hw/virtio/virtio.c | 6 + include/hw/virtio/vhost-backend.h | 19 +- include/hw/virtio/vhost-vdpa.h | 26 ++ include/hw/virtio/vhost.h | 7 + include/hw/virtio/virtio-bus.h | 4 + include/net/net.h | 1 + include/net/vhost-vdpa.h | 22 ++ net/Makefile.objs | 2 +- net/clients.h | 2 + net/net.c | 10 + net/vhost-vdpa.c | 228 ++++++++++++++ qapi/net.json | 28 +- qemu-options.hx | 12 + 23 files changed, 978 insertions(+), 30 deletions(-) create mode 100644 docs/interop/vhost-vdpa.rst create mode 100644 hw/virtio/vhost-vdpa.c create mode 100644 include/hw/virtio/vhost-vdpa.h create mode 100644 include/net/vhost-vdpa.h create mode 100644 net/vhost-vdpa.c -- 2.21.1