|
gem5
v21.2.1.1
|
#include <mmu.hh>
Public Member Functions | |
| CachedState (MMU *_mmu, bool stage2) | |
| void | updateMiscReg (ThreadContext *tc, ArmTranslationType tran_type) |
| vmid_t | getVMID (ThreadContext *tc) const |
| Returns the current VMID (information stored in the VTTBR_EL2 register) More... | |
Public Attributes | |
| MMU * | mmu |
| bool | isStage2 = false |
| CPSR | cpsr = 0 |
| bool | aarch64 = false |
| ExceptionLevel | aarch64EL = EL0 |
| SCTLR | sctlr = 0 |
| SCR | scr = 0 |
| bool | isPriv = false |
| bool | isSecure = false |
| bool | isHyp = false |
| TTBCR | ttbcr = 0 |
| uint16_t | asid = 0 |
| vmid_t | vmid = 0 |
| PRRR | prrr = 0 |
| NMRR | nmrr = 0 |
| HCR | hcr = 0 |
| uint32_t | dacr = 0 |
| bool | miscRegValid = false |
| ArmTranslationType | curTranType = NormalTran |
| bool | stage2Req = false |
| bool | stage2DescReq = false |
| bool | directToStage2 = false |
|
inlineexplicit |
| vmid_t gem5::MMU::CachedState::getVMID | ( | ThreadContext * | tc | ) | const |
Returns the current VMID (information stored in the VTTBR_EL2 register)
Definition at line 1132 of file mmu.cc.
References gem5::bits(), gem5::ArmISA::EL2, gem5::ArmISA::ELIs64(), gem5::ArmISA::MISCREG_ID_AA64MMFR1_EL1, gem5::ArmISA::MISCREG_VTCR_EL2, gem5::ArmISA::MISCREG_VTTBR_EL2, panic, gem5::ThreadContext::readMiscReg(), and vmid.
| void gem5::MMU::CachedState::updateMiscReg | ( | ThreadContext * | tc, |
| ArmTranslationType | tran_type | ||
| ) |
Definition at line 1201 of file mmu.cc.
References gem5::ArmISA::aarch64, gem5::ArmISA::asid, gem5::bits(), gem5::ArmISA::EL0, gem5::ArmISA::EL1, gem5::ArmISA::EL2, gem5::ArmISA::EL3, gem5::ArmISA::ELIs64(), gem5::ArmISA::HaveVirtHostExt(), gem5::ArmISA::MMU::HypMode, gem5::ArmISA::isSecure(), gem5::ArmISA::IsSecureEL2Enabled(), gem5::ArmISA::longDescFormatInUse(), gem5::ArmISA::MISCREG_CONTEXTIDR, gem5::ArmISA::MISCREG_CPSR, gem5::ArmISA::MISCREG_DACR, gem5::ArmISA::MISCREG_HCR, gem5::ArmISA::MISCREG_HCR_EL2, gem5::ArmISA::MISCREG_HSCTLR, gem5::ArmISA::MISCREG_NMRR, gem5::ArmISA::MISCREG_PRRR, gem5::ArmISA::MISCREG_SCR, gem5::ArmISA::MISCREG_SCR_EL3, gem5::ArmISA::MISCREG_SCTLR, gem5::ArmISA::MISCREG_SCTLR_EL1, gem5::ArmISA::MISCREG_SCTLR_EL2, gem5::ArmISA::MISCREG_SCTLR_EL3, gem5::ArmISA::MISCREG_TCR_EL1, gem5::ArmISA::MISCREG_TCR_EL2, gem5::ArmISA::MISCREG_TCR_EL3, gem5::ArmISA::MISCREG_TTBCR, gem5::ArmISA::MISCREG_TTBR0, gem5::ArmISA::MISCREG_TTBR0_EL1, gem5::ArmISA::MISCREG_TTBR0_EL2, gem5::ArmISA::MISCREG_TTBR1, gem5::ArmISA::MISCREG_TTBR1_EL1, gem5::ArmISA::MISCREG_TTBR1_EL2, gem5::ArmISA::MISCREG_VTTBR, gem5::ArmISA::MODE_HYP, gem5::ArmISA::MODE_USER, gem5::ThreadContext::readMiscReg(), gem5::ArmISA::MMU::S1CTran, gem5::ArmISA::MMU::S1E1Tran, gem5::ArmISA::MMU::S1S2NsTran, gem5::ArmISA::snsBankedIndex(), gem5::ArmISA::MMU::tranTypeEL(), and gem5::ArmISA::vm.
Referenced by gem5::ArmISA::MMU::updateMiscReg().
| bool gem5::ArmISA::MMU::CachedState::aarch64 = false |
Definition at line 147 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions64(), gem5::ArmISA::MMU::getResultTe(), gem5::ArmISA::MMU::getTE(), gem5::ArmISA::MMU::translateFs(), gem5::ArmISA::MMU::translateFunctional(), gem5::ArmISA::MMU::translateMmuOff(), and gem5::ArmISA::MMU::translateSe().
| ExceptionLevel gem5::ArmISA::MMU::CachedState::aarch64EL = EL0 |
Definition at line 148 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions64(), gem5::ArmISA::MMU::faultPAN(), gem5::ArmISA::MMU::getTE(), gem5::ArmISA::MMU::s1PermBits64(), gem5::ArmISA::MMU::s2PermBits64(), gem5::ArmISA::MMU::translateFs(), gem5::ArmISA::MMU::translateFunctional(), and gem5::ArmISA::MMU::translateSe().
| uint16_t gem5::ArmISA::MMU::CachedState::asid = 0 |
Definition at line 155 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::getTE(), gem5::ArmISA::MMU::translateFs(), and gem5::ArmISA::MMU::translateFunctional().
| CPSR gem5::ArmISA::MMU::CachedState::cpsr = 0 |
Definition at line 146 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPAN().
| ArmTranslationType gem5::ArmISA::MMU::CachedState::curTranType = NormalTran |
Definition at line 162 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions64(), and gem5::ArmISA::MMU::getResultTe().
| uint32_t gem5::ArmISA::MMU::CachedState::dacr = 0 |
Definition at line 160 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions().
| bool gem5::ArmISA::MMU::CachedState::directToStage2 = false |
Definition at line 175 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::translateFunctional().
| HCR gem5::ArmISA::MMU::CachedState::hcr = 0 |
Definition at line 159 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPAN(), gem5::ArmISA::MMU::checkPermissions(), gem5::ArmISA::MMU::checkPermissions64(), gem5::ArmISA::MMU::faultPAN(), gem5::ArmISA::MMU::translateFs(), and gem5::ArmISA::MMU::translateMmuOff().
| bool gem5::ArmISA::MMU::CachedState::isHyp = false |
Definition at line 153 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::getTE(), gem5::ArmISA::MMU::translateFunctional(), and gem5::ArmISA::MMU::translateMmuOff().
| bool gem5::ArmISA::MMU::CachedState::isPriv = false |
Definition at line 151 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions(), gem5::ArmISA::MMU::s1PermBits64(), gem5::ArmISA::MMU::testTranslation(), gem5::ArmISA::MMU::testWalk(), and gem5::ArmISA::MMU::translateFs().
| bool gem5::ArmISA::MMU::CachedState::isSecure = false |
Definition at line 152 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions(), gem5::ArmISA::MMU::getResultTe(), gem5::ArmISA::MMU::s1PermBits64(), gem5::ArmISA::MMU::s2PermBits64(), gem5::ArmISA::MMU::translateFs(), gem5::ArmISA::MMU::translateFunctional(), gem5::ArmISA::MMU::translateMmuOff(), and gem5::ArmISA::MMU::translateMmuOn().
| bool gem5::ArmISA::MMU::CachedState::isStage2 = false |
Definition at line 145 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions(), gem5::ArmISA::MMU::checkPermissions64(), gem5::ArmISA::MMU::getResultTe(), gem5::ArmISA::MMU::getTE(), gem5::ArmISA::MMU::translateFs(), gem5::ArmISA::MMU::translateMmuOff(), gem5::ArmISA::MMU::translateMmuOn(), and gem5::ArmISA::MMU::translateSe().
| bool gem5::ArmISA::MMU::CachedState::miscRegValid = false |
Definition at line 161 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::drainResume(), and gem5::ArmISA::MMU::invalidateMiscReg().
| NMRR gem5::ArmISA::MMU::CachedState::nmrr = 0 |
Definition at line 158 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::translateMmuOff().
| PRRR gem5::ArmISA::MMU::CachedState::prrr = 0 |
Definition at line 157 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::translateMmuOff().
| SCR gem5::ArmISA::MMU::CachedState::scr = 0 |
Definition at line 150 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions(), gem5::ArmISA::MMU::checkPermissions64(), gem5::ArmISA::MMU::s1PermBits64(), gem5::ArmISA::MMU::s2PermBits64(), and gem5::ArmISA::MMU::translateFs().
| SCTLR gem5::ArmISA::MMU::CachedState::sctlr = 0 |
Definition at line 149 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions(), gem5::ArmISA::MMU::checkPermissions64(), gem5::ArmISA::MMU::s1PermBits64(), gem5::ArmISA::MMU::translateFs(), gem5::ArmISA::MMU::translateMmuOff(), and gem5::ArmISA::MMU::translateSe().
| bool gem5::ArmISA::MMU::CachedState::stage2DescReq = false |
Definition at line 171 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::getTE().
| bool gem5::ArmISA::MMU::CachedState::stage2Req = false |
Definition at line 165 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::getResultTe(), and gem5::ArmISA::MMU::translateComplete().
| TTBCR gem5::ArmISA::MMU::CachedState::ttbcr = 0 |
Definition at line 154 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::checkPermissions64(), gem5::ArmISA::MMU::getTE(), gem5::ArmISA::MMU::translateFs(), and gem5::ArmISA::MMU::translateSe().
| vmid_t gem5::ArmISA::MMU::CachedState::vmid = 0 |
Definition at line 156 of file mmu.hh.
Referenced by gem5::ArmISA::MMU::getTE(), getVMID(), and gem5::ArmISA::MMU::translateFunctional().