History

iommu/tegra241-cmdqv: Update uAPI to clarify HYP_OWN requirement

>From hardware implementation perspective, a guest tegra241-cmdqv hardware is different than the host hardware: - Host HW is backed by a VINTF (HYP_OWN=1) - Guest HW is backed by a VINTF (HYP_OWN=0) The kernel driver has an implementation requirement of the HYP_OWN bit in the VM. So, VMM must follow that to allow the same copy of Linux to work. Add this requirement to the uAPI, which is currently missing.

Nicolin Chen committed 8 months ago

Commit 9dcef981 parent 803e41f1 file · +5 −0Browse files

Showing the changes to include/uapi (1 of 1 file). Show all

Unified · Split

include/uapi/linux/iommufd.h+5−0
@@ -1052,6 +1052,11 @@ struct iommu_fault_alloc { · 1051 unmodified lines
1052enum iommu_viommu_type {1052enum iommu_viommu_type {
1053 IOMMU_VIOMMU_TYPE_DEFAULT = 0,1053 IOMMU_VIOMMU_TYPE_DEFAULT = 0,
1054 IOMMU_VIOMMU_TYPE_ARM_SMMUV3 = 1,1054 IOMMU_VIOMMU_TYPE_ARM_SMMUV3 = 1,
1055 /*
1056 * TEGRA241_CMDQV requirements (otherwise, VCMDQs will not work)
1057 * - Kernel will allocate a VINTF (HYP_OWN=0) to back this VIOMMU. So,
1058 * VMM must wire the HYP_OWN bit to 0 in guest VINTF_CONFIG register
1059 */
1055 IOMMU_VIOMMU_TYPE_TEGRA241_CMDQV = 2,1060 IOMMU_VIOMMU_TYPE_TEGRA241_CMDQV = 2,
1056};1061};
1057 1062