@@ -50,6 +50,7 @@ enum {
IOMMUFD_CMD_HWPT_SET_DIRTY_TRACKING,
IOMMUFD_CMD_HWPT_GET_DIRTY_BITMAP,
IOMMUFD_CMD_HWPT_INVALIDATE,
+ IOMMUFD_CMD_IOAS_CHANGE_PROCESS,
};
/**
@@ -692,4 +693,22 @@ struct iommu_hwpt_invalidate {
__u32 __reserved;
};
#define IOMMU_HWPT_INVALIDATE _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_INVALIDATE)
+
+struct iommu_ioas_userspace_map {
+ __u64 addr_old;
+ __u64 addr_new;
+ __u64 size; /* bytes */
+};
+
+struct iommu_ioas_change_process {
+ __u32 size;
+ __u32 flags; /* must be 0 */
+ __u32 n_umap;
+ __u32 __reserved; /* must be 0 */
+ __aligned_u64 umap;
+};
+
+#define IOMMU_IOAS_CHANGE_PROCESS \
+ _IO(IOMMUFD_TYPE, IOMMUFD_CMD_IOAS_CHANGE_PROCESS)
+
#endif
Define IOMMU_IOAS_CHANGE_PROCESS for use by CPR. This interface is preliminary. Signed-off-by: Steve Sistare <steven.sistare@oracle.com> --- linux-headers/linux/iommufd.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)