On 2020/7/1 下午10:55, Cindy Lu wrote:
> 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 v3
> 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
>
> Change from v3
> fix the centos7 test problem
> other comments form last version
> github address
> https://github.com/lulu-github-name/qemutmp.git PATCHV4
Thanks a lot for patches.
I think we may have a more generic handling of forcing IOMMU_PLATFORM.
But it can be done on top.
So
Acked-by: Jason Wang <jasowang@redhat.com>
>
> Cindy Lu (11):
> 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_net: introduce set_config & get_config
> 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-stub.c | 11 +
> hw/net/vhost_net.c | 45 ++-
> hw/net/virtio-net.c | 19 ++
> 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 ++
> include/net/vhost_net.h | 5 +
> 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 +
> 25 files changed, 1004 insertions(+), 29 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
>