Flag VFIO_IOMMU_INFO_DIRTY_PGS in VFIO_IOMMU_GET_INFO indicates that driver
support dirty pages tracking.

Signed-off-by: Kirti Wankhede <kwankh...@nvidia.com>
Reviewed-by: Neo Jia <c...@nvidia.com>
---
 drivers/vfio/vfio_iommu_type1.c | 3 ++-
 include/uapi/linux/vfio.h       | 5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
index 266550bd7307..9fe12b425976 100644
--- a/drivers/vfio/vfio_iommu_type1.c
+++ b/drivers/vfio/vfio_iommu_type1.c
@@ -2390,7 +2390,8 @@ static long vfio_iommu_type1_ioctl(void *iommu_data,
                        info.cap_offset = 0; /* output, no-recopy necessary */
                }
 
-               info.flags = VFIO_IOMMU_INFO_PGSIZES;
+               info.flags = VFIO_IOMMU_INFO_PGSIZES |
+                            VFIO_IOMMU_INFO_DIRTY_PGS;
 
                info.iova_pgsizes = vfio_pgsize_bitmap(iommu);
 
diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h
index e3cbf8b78623..0fe7c9a6f211 100644
--- a/include/uapi/linux/vfio.h
+++ b/include/uapi/linux/vfio.h
@@ -985,8 +985,9 @@ struct vfio_device_feature {
 struct vfio_iommu_type1_info {
        __u32   argsz;
        __u32   flags;
-#define VFIO_IOMMU_INFO_PGSIZES (1 << 0)       /* supported page sizes info */
-#define VFIO_IOMMU_INFO_CAPS   (1 << 1)        /* Info supports caps */
+#define VFIO_IOMMU_INFO_PGSIZES   (1 << 0) /* supported page sizes info */
+#define VFIO_IOMMU_INFO_CAPS      (1 << 1) /* Info supports caps */
+#define VFIO_IOMMU_INFO_DIRTY_PGS (1 << 2) /* supports dirty page tracking */
        __u64   iova_pgsizes;   /* Bitmap of supported page sizes */
        __u32   cap_offset;     /* Offset within info struct of first cap */
 };
-- 
2.7.0


Reply via email to