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 <giacomo.travaglini@arm.com>
Reviewed-by: Michiel van Tol <michiel.vantol@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23763
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2019-11-12 14:43:23 +00:00
parent 6d37f2877e
commit 6f6bf2f90e

View File

@@ -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);
}
}