Re: [PATCH RFC 02/11] iommu: Add iommu_domain type for SVA

From: Lu Baolu
Date: Mon Mar 21 2022 - 06:23:23 EST


On 2022/3/21 15:06, Tian, Kevin wrote:
From: Lu Baolu<baolu.lu@xxxxxxxxxxxxxxx>
Sent: Sunday, March 20, 2022 2:40 PM

Add a new iommu domain type IOMMU_DOMAIN_SVA to represent an I/O
page
table which is shared from CPU host VA. Add a sva_cookie field in the
iommu_domain structure to save the mm_struct which represent the CPU
memory page table.

Signed-off-by: Lu Baolu<baolu.lu@xxxxxxxxxxxxxxx>
---
include/linux/iommu.h | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 36f43af0af53..3e179b853380 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -64,6 +64,9 @@ struct iommu_domain_geometry {
#define __IOMMU_DOMAIN_PT (1U << 2) /* Domain is identity
mapped */
#define __IOMMU_DOMAIN_DMA_FQ (1U << 3) /* DMA-API uses
flush queue */

+#define __IOMMU_DOMAIN_SHARED (1U << 4) /* Page table shared from
CPU */
+#define __IOMMU_DOMAIN_HOST_VA (1U << 5) /* Host CPU virtual
address */
suppose the SHARED bit will be also used for KVM page table sharing and
HOST_VA bit is to differentiate mm sharing from the latter?


Yes, that's my intention.

Best regards,
baolu