We add a new flag, VFIO_IOMMU_INFO_CAPABILITIES, inside the vfio_iommu_type1_info to specify the support for capabilities. We add a new capability, with id VFIO_IOMMU_INFO_CAP_DMA in the capability list of the VFIO_IOMMU_GET_INFO ioctl. Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx> --- 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 8131028..54c4fcb 100644 --- a/include/uapi/linux/vfio.h +++ b/include/uapi/linux/vfio.h @@ -669,6 +669,15 @@ struct vfio_iommu_type1_info { __u32 flags; #define VFIO_IOMMU_INFO_PGSIZES (1 << 0) /* supported page sizes info */ __u64 iova_pgsizes; /* Bitmap of supported page sizes */ +#define VFIO_IOMMU_INFO_CAPABILITIES (1 << 1) /* support capabilities info */ + __u64 cap_offset; /* Offset within info struct of first cap */ +}; + +#define VFIO_IOMMU_INFO_CAP_DMA 1 +struct vfio_iommu_cap_dma { + struct vfio_info_cap_header header; + __u64 dma_start; + __u64 dma_end; }; #define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) -- 2.7.4