Skip to content

Commit 9dcef98

Browse files
nicolincwilldeacon
authored andcommitted
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. Fixes: 4dc0d12 ("iommu/tegra241-cmdqv: Add user-space use support") Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Will Deacon <will@kernel.org>
1 parent 803e41f commit 9dcef98

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

include/uapi/linux/iommufd.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,6 +1052,11 @@ struct iommu_fault_alloc {
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

0 commit comments

Comments
 (0)