From 6f6bf2f90e71295e8c025e0d627e6cbd28d8b429 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Tue, 12 Nov 2019 14:43:23 +0000 Subject: [PATCH] dev-arm: Fix SMMUv3 16KB next-level table address masking The next-level table address for a granule size of 16KB is retrieved from the 47:14 bits of the current table descriptor (instead of 47:12, which is the valid masking for a 4KB granule) Change-Id: I570138a34003dc034d8e67dc1209316157d57205 Signed-off-by: Giacomo Travaglini Reviewed-by: Michiel van Tol Reviewed-by: Nikos Nikoleris Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23763 Tested-by: kokoro --- src/dev/arm/smmu_v3_ptops.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dev/arm/smmu_v3_ptops.cc b/src/dev/arm/smmu_v3_ptops.cc index 96d876ea3..05c8bc022 100644 --- a/src/dev/arm/smmu_v3_ptops.cc +++ b/src/dev/arm/smmu_v3_ptops.cc @@ -273,7 +273,7 @@ V8PageTableOps16k::nextLevelPointer(pte_t pte, unsigned level) const default: panic("bad level %d", level); } } else { - return mbits(pte, 47, 12); + return mbits(pte, 47, 14); } } -- 2.30.2