gem5 v24.1.0.1
|
#include <tlbi_op.hh>
Public Types | |
enum class | Attr { None , ExcludeXS } |
Public Member Functions | |
TLBIOp (TranslationRegime _target_regime, SecurityState _ss, Attr _attr) | |
virtual | ~TLBIOp () |
virtual void | operator() (ThreadContext *tc) |
void | broadcast (ThreadContext *tc) |
Broadcast the TLB Invalidate operation to all TLBs in the Arm system. | |
bool | match (TlbEntry *entry, vmid_t curr_vmid) const |
virtual bool | matchEntry (TlbEntry *entry, vmid_t curr_vmid) const =0 |
virtual bool | stage1Flush () const |
Return true if the TLBI op needs to flush stage1 entries, Defaulting to true in the TLBIOp abstract class. | |
virtual bool | stage2Flush () const |
Return true if the TLBI op needs to flush stage2 entries, Defaulting to false in the TLBIOp abstract class. | |
Public Attributes | |
SecurityState | ss |
TranslationRegime | targetRegime |
Attr | attr |
Definition at line 57 of file tlbi_op.hh.
|
strong |
Enumerator | |
---|---|
None | |
ExcludeXS |
Definition at line 60 of file tlbi_op.hh.
|
inline |
Definition at line 66 of file tlbi_op.hh.
|
inlinevirtual |
Definition at line 70 of file tlbi_op.hh.
|
inline |
Broadcast the TLB Invalidate operation to all TLBs in the Arm system.
tc | Thread Context |
Definition at line 79 of file tlbi_op.hh.
References gem5::ThreadContext::getSystemPtr(), and gem5::System::threads.
Referenced by gem5::TlbiOp::performTlbi(), gem5::TlbiOp64::tlbiAll(), gem5::TlbiOp64::tlbiAsid(), gem5::TlbiOp64::tlbiIpaS2(), gem5::TlbiOp64::tlbiRipaS2(), gem5::TlbiOp64::tlbiRva(), gem5::TlbiOp64::tlbiRvaa(), gem5::TlbiOp64::tlbiVa(), gem5::TlbiOp64::tlbiVaa(), and gem5::TlbiOp64::tlbiVmall().
Definition at line 49 of file tlbi_op.cc.
References attr, ExcludeXS, matchEntry(), and gem5::ArmISA::te.
Referenced by gem5::ArmISA::TLB::flush().
|
pure virtual |
Implemented in gem5::ArmISA::TLBIALL, gem5::ArmISA::ITLBIALL, gem5::ArmISA::DTLBIALL, gem5::ArmISA::TLBIALLEL, gem5::ArmISA::TLBIVMALL, gem5::ArmISA::TLBIASID, gem5::ArmISA::ITLBIASID, gem5::ArmISA::DTLBIASID, gem5::ArmISA::TLBIALLN, gem5::ArmISA::TLBIMVAA, gem5::ArmISA::TLBIMVA, gem5::ArmISA::ITLBIMVA, gem5::ArmISA::DTLBIMVA, gem5::ArmISA::TLBIIPA, gem5::ArmISA::TLBIRMVA, gem5::ArmISA::TLBIRMVAA, and gem5::ArmISA::TLBIRIPA.
Referenced by match().
|
inlinevirtual |
Reimplemented in gem5::ArmISA::TLBIALL, gem5::ArmISA::ITLBIALL, gem5::ArmISA::DTLBIALL, gem5::ArmISA::TLBIALLEL, gem5::ArmISA::TLBIVMALL, gem5::ArmISA::TLBIASID, gem5::ArmISA::ITLBIASID, gem5::ArmISA::DTLBIASID, gem5::ArmISA::TLBIALLN, gem5::ArmISA::TLBIMVAA, gem5::ArmISA::TLBIMVA, gem5::ArmISA::ITLBIMVA, gem5::ArmISA::DTLBIMVA, and gem5::ArmISA::TLBIIPA.
Definition at line 71 of file tlbi_op.hh.
|
inlinevirtual |
Return true if the TLBI op needs to flush stage1 entries, Defaulting to true in the TLBIOp abstract class.
Reimplemented in gem5::ArmISA::TLBIIPA.
Definition at line 95 of file tlbi_op.hh.
Referenced by gem5::ArmISA::MMU::flush().
|
inlinevirtual |
Return true if the TLBI op needs to flush stage2 entries, Defaulting to false in the TLBIOp abstract class.
Reimplemented in gem5::ArmISA::TLBIALL, gem5::ArmISA::TLBIALLEL, gem5::ArmISA::TLBIVMALL, and gem5::ArmISA::TLBIALLN.
Definition at line 106 of file tlbi_op.hh.
Referenced by gem5::ArmISA::MMU::flush().
Attr gem5::ArmISA::TLBIOp::attr |
Definition at line 113 of file tlbi_op.hh.
Referenced by match().
SecurityState gem5::ArmISA::TLBIOp::ss |
Definition at line 111 of file tlbi_op.hh.
Referenced by gem5::ArmISA::TLBIMVAA::lookupGen(), gem5::ArmISA::TLBIMVA::lookupGen(), gem5::ArmISA::TLBIIPA::lookupGen(), gem5::ArmISA::TLBIALL::matchEntry(), gem5::ArmISA::TLBIALLEL::matchEntry(), gem5::ArmISA::TLBIVMALL::matchEntry(), gem5::ArmISA::TLBIASID::matchEntry(), and gem5::ArmISA::TLBIIPA::TLBIIPA().
TranslationRegime gem5::ArmISA::TLBIOp::targetRegime |
Definition at line 112 of file tlbi_op.hh.
Referenced by gem5::ArmISA::TLBIMVAA::lookupGen(), gem5::ArmISA::TLBIMVA::lookupGen(), gem5::ArmISA::TLBIIPA::lookupGen(), gem5::ArmISA::TLBIALL::matchEntry(), gem5::ArmISA::TLBIALLEL::matchEntry(), gem5::ArmISA::TLBIVMALL::matchEntry(), gem5::ArmISA::TLBIASID::matchEntry(), gem5::ArmISA::TLBIALLN::matchEntry(), gem5::ArmISA::TLBIALLEL::stage2Flush(), and gem5::ArmISA::TLBIALLN::stage2Flush().