From: "Liu, Yi L" <yi.l.liu@xxxxxxxxxxxxxxx> This patch adds VFIO_IOMMU_TLB_INVALIDATE to propagate IOMMU TLB invalidate request from guest to host. In the case of SVM virtualization on VT-d, host IOMMU driver has no knowledge of caching structure updates unless the guest invalidation activities are passed down to the host. So a new IOCTL is needed to propagate the guest cache invalidation through VFIO. Signed-off-by: Liu, Yi L <yi.l.liu@xxxxxxxxxxxxxxx> --- include/uapi/linux/vfio.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h index 6b97987..50c51f8 100644 --- a/include/uapi/linux/vfio.h +++ b/include/uapi/linux/vfio.h @@ -564,6 +564,15 @@ struct vfio_device_svm { #define VFIO_IOMMU_SVM_BIND_TASK _IO(VFIO_TYPE, VFIO_BASE + 22) +/* For IOMMU TLB Invalidation Propagation */ +struct vfio_iommu_tlb_invalidate { + __u32 argsz; + __u32 length; + __u8 data[]; +}; + +#define VFIO_IOMMU_TLB_INVALIDATE _IO(VFIO_TYPE, VFIO_BASE + 23) + /* -------- Additional API for SPAPR TCE (Server POWERPC) IOMMU -------- */ /* -- 1.9.1