gem5 v24.0.0.0
|
#include <tlbi_op.hh>
Public Member Functions | |
TLBIOp (TranslationRegime _target_regime, bool _secure) | |
virtual | ~TLBIOp () |
virtual void | operator() (ThreadContext *tc) |
void | broadcast (ThreadContext *tc) |
Broadcast the TLB Invalidate operation to all TLBs in the Arm system. | |
virtual bool | match (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 | |
bool | secureLookup |
TranslationRegime | targetRegime |
Definition at line 57 of file tlbi_op.hh.
|
inline |
Definition at line 60 of file tlbi_op.hh.
|
inlinevirtual |
Definition at line 64 of file tlbi_op.hh.
|
inline |
Broadcast the TLB Invalidate operation to all TLBs in the Arm system.
tc | Thread Context |
Definition at line 73 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().
Implemented in gem5::ArmISA::DTLBIALL, gem5::ArmISA::DTLBIASID, gem5::ArmISA::DTLBIMVA, gem5::ArmISA::ITLBIALL, gem5::ArmISA::ITLBIASID, gem5::ArmISA::ITLBIMVA, gem5::ArmISA::TLBIALL, gem5::ArmISA::TLBIALLEL, gem5::ArmISA::TLBIALLN, gem5::ArmISA::TLBIASID, gem5::ArmISA::TLBIIPA, gem5::ArmISA::TLBIMVA, gem5::ArmISA::TLBIMVAA, gem5::ArmISA::TLBIRMVA, gem5::ArmISA::TLBIRMVAA, and gem5::ArmISA::TLBIVMALL.
Referenced by gem5::ArmISA::TLB::flush().
|
inlinevirtual |
Reimplemented in gem5::ArmISA::DTLBIALL, gem5::ArmISA::DTLBIASID, gem5::ArmISA::DTLBIMVA, gem5::ArmISA::ITLBIALL, gem5::ArmISA::ITLBIASID, gem5::ArmISA::ITLBIMVA, gem5::ArmISA::TLBIALL, gem5::ArmISA::TLBIALLEL, gem5::ArmISA::TLBIALLN, gem5::ArmISA::TLBIASID, gem5::ArmISA::TLBIIPA, gem5::ArmISA::TLBIMVA, gem5::ArmISA::TLBIMVAA, and gem5::ArmISA::TLBIVMALL.
Definition at line 65 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 87 of file tlbi_op.hh.
|
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::TLBIALLN, and gem5::ArmISA::TLBIVMALL.
Definition at line 98 of file tlbi_op.hh.
bool gem5::ArmISA::TLBIOp::secureLookup |
Definition at line 103 of file tlbi_op.hh.
Referenced by gem5::ArmISA::TLBIMVA::lookupGen(), gem5::ArmISA::TLBIMVAA::lookupGen(), gem5::ArmISA::TLBIALL::makeStage2(), gem5::ArmISA::TLBIALLEL::makeStage2(), gem5::ArmISA::TLBIIPA::makeStage2(), gem5::ArmISA::TLBIRIPA::makeStage2(), gem5::ArmISA::TLBIVMALL::makeStage2(), gem5::ArmISA::TLBIALL::match(), gem5::ArmISA::TLBIALLEL::match(), gem5::ArmISA::TLBIASID::match(), and gem5::ArmISA::TLBIVMALL::match().
TranslationRegime gem5::ArmISA::TLBIOp::targetRegime |
Definition at line 104 of file tlbi_op.hh.
Referenced by gem5::ArmISA::TLBIMVA::lookupGen(), gem5::ArmISA::TLBIMVAA::lookupGen(), gem5::ArmISA::TLBIALL::makeStage2(), gem5::ArmISA::TLBIALLEL::makeStage2(), gem5::ArmISA::TLBIALLN::makeStage2(), gem5::ArmISA::TLBIIPA::makeStage2(), gem5::ArmISA::TLBIRIPA::makeStage2(), gem5::ArmISA::TLBIVMALL::makeStage2(), gem5::ArmISA::TLBIALL::match(), gem5::ArmISA::TLBIALLEL::match(), gem5::ArmISA::TLBIALLN::match(), gem5::ArmISA::TLBIASID::match(), gem5::ArmISA::TLBIVMALL::match(), gem5::ArmISA::TLBIALLEL::stage2Flush(), and gem5::ArmISA::TLBIALLN::stage2Flush().