gem5
v20.0.0.2
|
#include <stage2_lookup.hh>
Public Member Functions | |
Stage2LookUp (TLB *s1Tlb, TLB *s2Tlb, TlbEntry s1Te, const RequestPtr &_req, TLB::Translation *_transState, BaseTLB::Mode _mode, bool _timing, bool _functional, TLB::ArmTranslationType _tranType) | |
Fault | getTe (ThreadContext *tc, TlbEntry *destTe) |
void | mergeTe (const RequestPtr &req, BaseTLB::Mode mode) |
void | setSelfDelete () |
bool | isComplete () const |
void | markDelayed () |
Signal that the translation has been delayed due to a hw page table walk. More... | |
void | finish (const Fault &fault, const RequestPtr &req, ThreadContext *tc, BaseTLB::Mode mode) |
![]() | |
virtual | ~Translation () |
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... | |
Private Attributes | |
TLB * | stage1Tlb |
TLB * | stage2Tlb |
TlbEntry | stage1Te |
RequestPtr | s1Req |
TLB::Translation * | transState |
BaseTLB::Mode | mode |
bool | timing |
bool | functional |
TLB::ArmTranslationType | tranType |
TlbEntry * | stage2Te |
RequestPtr | req |
Fault | fault |
bool | complete |
bool | selfDelete |
Definition at line 55 of file stage2_lookup.hh.
|
inline |
Definition at line 74 of file stage2_lookup.hh.
References getTe(), mergeTe(), and ArmISA::TlbEntry::pAddr().
|
virtual |
Implements BaseTLB::Translation.
Definition at line 176 of file stage2_lookup.cc.
References fault, BaseTLB::Translation::finish(), functional, ArmISA::TLB::getTE(), mergeTe(), NoFault, s1Req, selfDelete, stage1Tlb, stage2Te, stage2Tlb, timing, ArmISA::TLB::translateComplete(), transState, and tranType.
Referenced by markDelayed().
Fault Stage2LookUp::getTe | ( | ThreadContext * | tc, |
TlbEntry * | destTe | ||
) |
Definition at line 54 of file stage2_lookup.cc.
References ArmISA::TLB::checkPermissions(), ArmISA::TLB::checkPermissions64(), ArmISA::EL2, ArmISA::ELIs64(), fault, functional, ArmISA::TLB::getTE(), mergeTe(), mode, NoFault, req, stage1Te, stage2Te, stage2Tlb, timing, and tranType.
Referenced by ArmISA::TLB::getResultTe(), and Stage2LookUp().
|
inline |
Definition at line 93 of file stage2_lookup.hh.
References complete.
Referenced by ArmISA::TLB::getResultTe().
|
inlinevirtual |
Signal that the translation has been delayed due to a hw page table walk.
Implements BaseTLB::Translation.
Definition at line 95 of file stage2_lookup.hh.
References finish().
void Stage2LookUp::mergeTe | ( | const RequestPtr & | req, |
BaseTLB::Mode | mode | ||
) |
Definition at line 79 of file stage2_lookup.cc.
References complete, ArmISA::TlbEntry::Device, fault, ArmISA::TlbEntry::innerAttrs, ArmISA::mask, ArmISA::TlbEntry::mtype, ArmISA::TlbEntry::N, NoFault, ArmISA::TlbEntry::nonCacheable, ArmISA::TlbEntry::Normal, ArmISA::TlbEntry::outerAttrs, ArmISA::TlbEntry::outerShareable, ArmISA::ArmFault::OVA, ArmISA::pa, ArmISA::TlbEntry::pfn, s1Req, ArmISA::TlbEntry::shareable, ArmISA::TlbEntry::size, stage1Te, stage2Te, ArmISA::TlbEntry::StronglyOrdered, ArmISA::TlbEntry::updateAttributes(), ArmISA::TlbEntry::vpn, and ArmISA::TlbEntry::xn.
Referenced by finish(), getTe(), and Stage2LookUp().
|
inline |
Definition at line 91 of file stage2_lookup.hh.
Referenced by ArmISA::TLB::getResultTe().
|
private |
Definition at line 70 of file stage2_lookup.hh.
Referenced by isComplete(), and mergeTe().
|
private |
Definition at line 69 of file stage2_lookup.hh.
|
private |
Definition at line 65 of file stage2_lookup.hh.
|
private |
Definition at line 63 of file stage2_lookup.hh.
Referenced by getTe().
|
private |
Definition at line 68 of file stage2_lookup.hh.
Referenced by getTe().
|
private |
Definition at line 61 of file stage2_lookup.hh.
|
private |
Definition at line 71 of file stage2_lookup.hh.
Referenced by finish().
|
private |
Definition at line 60 of file stage2_lookup.hh.
|
private |
Definition at line 58 of file stage2_lookup.hh.
Referenced by finish().
|
private |
Definition at line 67 of file stage2_lookup.hh.
|
private |
Definition at line 59 of file stage2_lookup.hh.
|
private |
Definition at line 64 of file stage2_lookup.hh.
|
private |
Definition at line 62 of file stage2_lookup.hh.
Referenced by finish().
|
private |
Definition at line 66 of file stage2_lookup.hh.