Definition at line 58 of file htm.hh.
| void gem5::ArmISA::HTMCheckpoint::reset |
( |
| ) |
|
|
overridevirtual |
Resets the checkpoint once a transaction has completed.
The method is bringing up the checkpoint to a known reset state so that it can be reused. ISA specific checkpoints inheriting from this class should override this method so that they can reset their own ISA specific state.
Reimplemented from gem5::BaseHTMCheckpoint.
Definition at line 48 of file htm.cc.
References daif, fpcr, fpsr, gem5::ArmISA::i, iccPmrEl1, nPc, gem5::ArmISA::NumVecPredRegs, gem5::ArmISA::NumVecRegs, nzcv, p, pcstateckpt, gem5::BaseHTMCheckpoint::reset(), rt, sp, tcreason, x, and z.
Every ISA implementing HTM support should override the restore method.
This is called once a transaction gets aborted and the architectural state needs to be reverted. This will restore the checkpointed arch state.
- Parameters
-
| tc | thread context to be restored |
| cause | the reason why the transaction has been aborted |
Reimplemented from gem5::BaseHTMCheckpoint.
Definition at line 95 of file htm.cc.
References gem5::bits(), daif, gem5::EXCEPTION, gem5::EXPLICIT, fpcr, fpsr, gem5::ArmISA::intRegClass, gem5::MEMORY, gem5::ArmISA::MISCREG_DAIF, gem5::ArmISA::MISCREG_FPCR, gem5::ArmISA::MISCREG_FPSR, gem5::ArmISA::MISCREG_NZCV, gem5::ArmISA::n, gem5::NEST, gem5::MipsISA::int_reg::NumArchRegs, gem5::ArmISA::NumVecPredRegs, gem5::ArmISA::NumVecRegs, nzcv, gem5::OTHER, p, panic, gem5::ThreadContext::pcState(), pcstateckpt, gem5::replaceBits(), gem5::BaseHTMCheckpoint::restore(), rt, gem5::ThreadContext::setMiscReg(), gem5::ThreadContext::setReg(), gem5::SIZE, sp, gem5::ArmISA::int_reg::Spx, tcreason, gem5::ArmISA::vecPredRegClass, gem5::ArmISA::vecRegClass, x, and z.
Every ISA implementing HTM support should override the save method.
This is called once a transaction starts and the architectural state needs to be saved. This will checkpoint the arch state.
- Parameters
-
| tc | thread context state to be saved |
Reimplemented from gem5::BaseHTMCheckpoint.
Definition at line 72 of file htm.cc.
References gem5::PCStateBase::as(), daif, fpcr, fpsr, gem5::ThreadContext::getReg(), gem5::ArmISA::intRegClass, gem5::ArmISA::MISCREG_DAIF, gem5::ArmISA::MISCREG_FPCR, gem5::ArmISA::MISCREG_FPSR, gem5::ArmISA::MISCREG_NZCV, gem5::ArmISA::n, gem5::MipsISA::int_reg::NumArchRegs, gem5::ArmISA::NumVecPredRegs, gem5::ArmISA::NumVecRegs, nzcv, p, gem5::ThreadContext::pcState(), pcstateckpt, gem5::ThreadContext::readMiscReg(), gem5::BaseHTMCheckpoint::save(), sp, gem5::ArmISA::int_reg::Spx, gem5::ArmISA::vecPredRegClass, gem5::ArmISA::vecRegClass, x, and z.