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

From: Jason Wang
Date: Thu Oct 22 2020 - 22:25:22 EST


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, the IOVA must be
allocated from this range.
- 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 and then guest IOVA allocator can behave correctly.

Please review.

Changes from V2:
- silent build warnings

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

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 | 40 ++++++++++++++++++++++++++++++++
include/linux/vdpa.h | 15 ++++++++++++
include/uapi/linux/vhost.h | 4 ++++
include/uapi/linux/vhost_types.h | 9 +++++++
5 files changed, 80 insertions(+)

--
2.20.1