Since we already have some ways to emulate vDPA block device in kernel[1] or userspace[2]. This series tries to introduce a new vhost-vdpa block device for that. To use it, we can add something like:
qemu-system-x86_64 \ -device vhost-vdpa-blk-pci,vdpa-dev=/dev/vhost-vdpa-0 You can also get the code and kernel changes from below repositories: https://github.com/bytedance/qemu/tree/vhost-vdpa-blk https://github.com/bytedance/linux/tree/vhost-vdpa-blk Thank you! [1] https://lore.kernel.org/kvm/20210315163450.254396-1-sgarz...@redhat.com/ [2] https://lore.kernel.org/kvm/20210331080519.172-1-xieyon...@bytedance.com/ Xie Yongji (3): Remove redundant declaration of address_space_memory vhost-blk: add vhost-blk-common abstraction vhost-vdpa-blk: Introduce vhost-vdpa-blk host device hw/block/Kconfig | 5 + hw/block/meson.build | 3 +- hw/block/vhost-blk-common.c | 291 +++++++++++++++++++++++++ hw/block/vhost-user-blk.c | 306 +++++---------------------- hw/block/vhost-vdpa-blk.c | 227 ++++++++++++++++++++ hw/virtio/meson.build | 1 + hw/virtio/vhost-user-blk-pci.c | 7 +- hw/virtio/vhost-vdpa-blk-pci.c | 101 +++++++++ hw/virtio/vhost-vdpa.c | 1 + include/hw/virtio/vhost-blk-common.h | 50 +++++ include/hw/virtio/vhost-user-blk.h | 20 +- include/hw/virtio/vhost-vdpa-blk.h | 30 +++ include/hw/virtio/vhost-vdpa.h | 1 - 13 files changed, 762 insertions(+), 281 deletions(-) create mode 100644 hw/block/vhost-blk-common.c create mode 100644 hw/block/vhost-vdpa-blk.c create mode 100644 hw/virtio/vhost-vdpa-blk-pci.c create mode 100644 include/hw/virtio/vhost-blk-common.h create mode 100644 include/hw/virtio/vhost-vdpa-blk.h -- 2.25.1