Commit e05698c1 authored by Suravee Suthikulpanit's avatar Suravee Suthikulpanit Committed by Joerg Roedel
Browse files

iommufd: Introduce data struct for AMD nested domain allocation



Introduce IOMMU_HWPT_DATA_AMD_GUEST data type for IOMMU guest page table,
which is used for stage-1 in nested translation. The data structure
contains information necessary for setting up the AMD HW-vIOMMU support.

Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Reviewed-by: default avatarNicolin Chen <nicolinc@nvidia.com>
Reviewed-by: default avatarVasant Hegde <vasant.hegde@amd.com>
Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
parent 9b467a5a
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -465,16 +465,27 @@ struct iommu_hwpt_arm_smmuv3 {
	__aligned_le64 ste[2];
};

/**
 * struct iommu_hwpt_amd_guest - AMD IOMMU guest I/O page table data
 *				 (IOMMU_HWPT_DATA_AMD_GUEST)
 * @dte: Guest Device Table Entry (DTE)
 */
struct iommu_hwpt_amd_guest {
	__aligned_u64 dte[4];
};

/**
 * enum iommu_hwpt_data_type - IOMMU HWPT Data Type
 * @IOMMU_HWPT_DATA_NONE: no data
 * @IOMMU_HWPT_DATA_VTD_S1: Intel VT-d stage-1 page table
 * @IOMMU_HWPT_DATA_ARM_SMMUV3: ARM SMMUv3 Context Descriptor Table
 * @IOMMU_HWPT_DATA_AMD_GUEST: AMD IOMMU guest page table
 */
enum iommu_hwpt_data_type {
	IOMMU_HWPT_DATA_NONE = 0,
	IOMMU_HWPT_DATA_VTD_S1 = 1,
	IOMMU_HWPT_DATA_ARM_SMMUV3 = 2,
	IOMMU_HWPT_DATA_AMD_GUEST = 3,
};

/**