[PATCH V2 0/3] vDPA: API for reporting IOVA range

Jason Wang
2020-08-21T09:28:32Z

Hi All:

This series introduces API for reporing IOVA range. This is a must for
userspace to work correclty:

- for the process that uses vhost-vDPA directly to properly allocate
IOVA
- for VM(qemu), when vIOMMU is not enabled, fail early if GPA is out
of range
- for VM(qemu), when vIOMMU is enabled, determine a valid guest
address width

Please review.

Changes from V1:

- do not mandate get_iova_range() for device with its own DMA
translation logic and assume a [0, ULLONG_MAX] range
- mandate IOVA range only for IOMMU that forcing aperture
- forbid the map which is out of the IOVA range in vhost-vDPA

Thanks

Jason Wang (3):
vdpa: introduce config op to get valid iova range
vhost: vdpa: report iova range
vdpa_sim: implement get_iova_range()

drivers/vdpa/vdpa_sim/vdpa_sim.c | 12 ++++++++++
drivers/vhost/vdpa.c | 41 ++++++++++++++++++++++++++++++++
include/linux/vdpa.h | 15 ++++++++++++
include/uapi/linux/vhost.h | 4 ++++
include/uapi/linux/vhost_types.h | 9 +++++++
5 files changed, 81 insertions(+)

--
2.18.1