arch-arm: Use EL0 permission logic when checking unpriv reference

An unprivileged memory reference (LDTR and STTR) executed at EL1
should be regarded as an EL0 memory access

Change-Id: Iae5e6e582f9c5a57340f27a84db463bcb8996922
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50388
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2021-09-01 15:24:33 +01:00
parent fde9e46951
commit 136809cc45

View File

@@ -604,7 +604,8 @@ MMU::s1PermBits64(TlbEntry *te, const RequestPtr &req, Mode mode,
return std::make_pair(false, false);
}
switch (state.aarch64EL) {
ExceptionLevel regime = !is_priv ? EL0 : state.aarch64EL;
switch (regime) {
case EL0:
{
grant_read = ap & 0x1;