arch-arm: _NS used in AArch32 if EL3 is AArch64

This is extending the behaviour of a previous patch [1] to EL0,
as CNTP is user (EL0) accessible

[1]: https://gem5-review.googlesource.com/9941

Change-Id: I54b493f32209ea53674e9025bbaba65e8134961e
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/58118
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
2022-03-17 19:04:03 +00:00
parent d982185d6e
commit cee3f3286a

View File

@@ -2258,6 +2258,8 @@ ISA::initializeMiscRegMetadata()
.bankedChild()
.nonSecure()
.privSecure(!aarch32EL3)
.userSecureRead(!aarch32EL3)
.userSecureWrite(!aarch32EL3)
.res0(0xfffffff8);
InitReg(MISCREG_CNTP_CTL_S)
.bankedChild()
@@ -2269,7 +2271,9 @@ ISA::initializeMiscRegMetadata()
InitReg(MISCREG_CNTP_CVAL_NS)
.bankedChild()
.nonSecure()
.privSecure(!aarch32EL3);
.privSecure(!aarch32EL3)
.userSecureRead(!aarch32EL3)
.userSecureWrite(!aarch32EL3);
InitReg(MISCREG_CNTP_CVAL_S)
.bankedChild()
.secure()
@@ -2279,7 +2283,9 @@ ISA::initializeMiscRegMetadata()
InitReg(MISCREG_CNTP_TVAL_NS)
.bankedChild()
.nonSecure()
.privSecure(!aarch32EL3);
.privSecure(!aarch32EL3)
.userSecureRead(!aarch32EL3)
.userSecureWrite(!aarch32EL3);
InitReg(MISCREG_CNTP_TVAL_S)
.bankedChild()
.secure()