arch-arm: TLBIs targeting EL2 regime are executable from S state (#1176)

Those AArch64 instructions/registers were labelled as executable
from EL3 only if SCR_EL3.NS == 1. This is not valid anymore
after the introduction of FEAT_SEL2
This commit is contained in:
Ivana Mitrovic
2024-05-28 10:54:18 -07:00
committed by GitHub

View File

@@ -5348,47 +5348,47 @@ ISA::initializeMiscRegMetadata()
.faultWrite(EL1, faultHcrFgtInstEL1<&HCR::ttlb, &HFGITR::tlbivaale1>)
.writes(1).exceptUserMode();
InitReg(MISCREG_TLBI_IPAS2E1OS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_IPAS2LE1OS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_ALLE2OS)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VAE2OS)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_ALLE1OS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VALE2OS)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VMALLS12E1OS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_IPAS2E1IS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_IPAS2LE1IS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_ALLE2IS)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VAE2IS)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_ALLE1IS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VALE2IS)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VMALLS12E1IS)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_IPAS2E1)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_IPAS2LE1)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_ALLE2)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VAE2)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_ALLE1)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VALE2)
.monNonSecureWrite().hypWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_VMALLS12E1)
.hypWrite().monSecureWrite().monNonSecureWrite();
.monWrite().hypWrite();
InitReg(MISCREG_TLBI_ALLE3OS)
.monSecureWrite().monNonSecureWrite();
InitReg(MISCREG_TLBI_VAE3OS)