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
10521052 enum iommu_viommu_type {
10531053 IOMMU_VIOMMU_TYPE_DEFAULT = 0,
10541054 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+ */
10551060 IOMMU_VIOMMU_TYPE_TEGRA241_CMDQV = 2,
10561061 };
10571062