]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
iommupt/vtd: Support mgaw's less than a 4 level walk for first stage
authorJason Gunthorpe <jgg@nvidia.com>
Thu, 27 Nov 2025 23:54:08 +0000 (19:54 -0400)
committerJoerg Roedel <joerg.roedel@amd.com>
Fri, 28 Nov 2025 07:43:55 +0000 (08:43 +0100)
commit1eb0ae6fbd544619c50b4a4d96ccb4676cac03cb
tree43bae54d7fee3fa9d047271cec63a9ce14f1c5ca
parentd856f9d27885c499d96ab7fe506083346ccf145d
iommupt/vtd: Support mgaw's less than a 4 level walk for first stage

If the IOVA is limited to less than 48 the page table will be constructed
with a 3 level configuration which is unsupported by hardware.

Like the second stage the caller needs to pass in both the top_level an
the vasz to specify a table that has more levels than required to hold the
IOVA range.

Fixes: 6cbc09b7719e ("iommu/vt-d: Restore previous domain::aperture_end calculation")
Reported-by: Calvin Owens <calvin@wbinvd.org>
Closes: https://lore.kernel.org/r/8f257d2651eb8a4358fcbd47b0145002e5f1d638.1764237717.git.calvin@wbinvd.org
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Tested-by: Calvin Owens <calvin@wbinvd.org>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
drivers/iommu/amd/iommu.c
drivers/iommu/generic_pt/fmt/x86_64.h
drivers/iommu/intel/iommu.c
include/linux/generic_pt/iommu.h