gem5
v20.1.0.0
|
#include <tlb.hh>
Public Member Functions | |
virtual | ~Translation () |
virtual void | markDelayed ()=0 |
Signal that the translation has been delayed due to a hw page table walk. More... | |
virtual void | finish (const Fault &fault, const RequestPtr &req, ThreadContext *tc, Mode mode)=0 |
virtual bool | squashed () const |
This function is used by the page table walker to determine if it should translate the a pending request or if the underlying request has been squashed. More... | |
|
pure virtual |
Implemented in Minor::LSQ::SplitDataRequest, Minor::LSQ::SingleDataRequest, Minor::LSQ::SpecialDataRequest, Minor::Fetch1::FetchRequest, Prefetcher::Queued::DeferredPacket, LSQ< Impl >::SplitDataRequest, LSQ< Impl >::HtmCmdRequest, LSQ< Impl >::SingleDataRequest, DataTranslation< ExecContextPtr >, DefaultFetch< Impl >::FetchTranslation, TimingSimpleCPU::FetchTranslation, ArmISA::Stage2LookUp, and ArmISA::Stage2MMU::Stage2Translation.
Referenced by ArmISA::TableWalker::doL1DescriptorWrapper(), ArmISA::TableWalker::doL2DescriptorWrapper(), ArmISA::TableWalker::doLongDescriptorWrapper(), ArmISA::Stage2LookUp::finish(), ArmISA::TableWalker::processWalkWrapper(), RiscvISA::Walker::startWalkWrapper(), X86ISA::Walker::startWalkWrapper(), ArmISA::TLB::translateComplete(), Iris::TLB::translateTiming(), MipsISA::TLB::translateTiming(), RiscvISA::TLB::translateTiming(), X86ISA::TLB::translateTiming(), PowerISA::TLB::translateTiming(), and SparcISA::TLB::translateTiming().
|
pure virtual |
Signal that the translation has been delayed due to a hw page table walk.
Implemented in LSQ< Impl >::LSQRequest, Prefetcher::Queued::DeferredPacket, DataTranslation< ExecContextPtr >, Minor::LSQ::LSQRequest, Minor::Fetch1::FetchRequest, DefaultFetch< Impl >::FetchTranslation, TimingSimpleCPU::FetchTranslation, ArmISA::Stage2LookUp, and ArmISA::Stage2MMU::Stage2Translation.
Referenced by ArmISA::TLB::translateComplete(), RiscvISA::TLB::translateTiming(), and X86ISA::TLB::translateTiming().
|
inlinevirtual |
This function is used by the page table walker to determine if it should translate the a pending request or if the underlying request has been squashed.
@ return Is the instruction that requested this translation squashed?
Reimplemented in LSQ< Impl >::LSQRequest, and DataTranslation< ExecContextPtr >.
Definition at line 84 of file tlb.hh.
Referenced by ArmISA::TableWalker::processWalkWrapper(), RiscvISA::Walker::startWalkWrapper(), and X86ISA::Walker::startWalkWrapper().