gem5  v22.1.0.0
Public Member Functions | Public Attributes | List of all members
gem5::ArmISA::TLBIOp Class Referenceabstract

#include <tlbi_op.hh>

Inheritance diagram for gem5::ArmISA::TLBIOp:
gem5::ArmISA::TLBIALL gem5::ArmISA::TLBIALLEL gem5::ArmISA::TLBIALLN gem5::ArmISA::TLBIASID gem5::ArmISA::TLBIIPA gem5::ArmISA::TLBIMVA gem5::ArmISA::TLBIMVAA gem5::ArmISA::TLBIVMALL

Public Member Functions

 TLBIOp (ExceptionLevel _targetEL, 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. More...
 
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. More...
 
virtual bool stage2Flush () const
 Return true if the TLBI op needs to flush stage2 entries, Defaulting to false in the TLBIOp abstract class. More...
 

Public Attributes

bool secureLookup
 
ExceptionLevel targetEL
 

Detailed Description

Definition at line 57 of file tlbi_op.hh.

Constructor & Destructor Documentation

◆ TLBIOp()

gem5::ArmISA::TLBIOp::TLBIOp ( ExceptionLevel  _targetEL,
bool  _secure 
)
inline

Definition at line 60 of file tlbi_op.hh.

◆ ~TLBIOp()

virtual gem5::ArmISA::TLBIOp::~TLBIOp ( )
inlinevirtual

Definition at line 64 of file tlbi_op.hh.

Member Function Documentation

◆ broadcast()

void gem5::ArmISA::TLBIOp::broadcast ( ThreadContext tc)
inline

Broadcast the TLB Invalidate operation to all TLBs in the Arm system.

Parameters
tcThread Context

Definition at line 73 of file tlbi_op.hh.

References gem5::ThreadContext::getSystemPtr(), and gem5::System::threads.

Referenced by gem5::TlbiOp::performTlbi(), and gem5::TlbiOp64::performTlbi().

◆ match()

virtual bool gem5::ArmISA::TLBIOp::match ( TlbEntry entry,
vmid_t  curr_vmid 
) const
pure virtual

◆ operator()()

virtual void gem5::ArmISA::TLBIOp::operator() ( ThreadContext tc)
inlinevirtual

◆ stage1Flush()

virtual bool gem5::ArmISA::TLBIOp::stage1Flush ( ) const
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.

◆ stage2Flush()

virtual bool gem5::ArmISA::TLBIOp::stage2Flush ( ) const
inlinevirtual

Return true if the TLBI op needs to flush stage2 entries, Defaulting to false in the TLBIOp abstract class.

Reimplemented in gem5::ArmISA::TLBIALLN, gem5::ArmISA::TLBIVMALL, gem5::ArmISA::TLBIALLEL, and gem5::ArmISA::TLBIALL.

Definition at line 98 of file tlbi_op.hh.

Member Data Documentation

◆ secureLookup

bool gem5::ArmISA::TLBIOp::secureLookup

◆ targetEL

ExceptionLevel gem5::ArmISA::TLBIOp::targetEL

The documentation for this class was generated from the following file:

Generated on Wed Dec 21 2022 10:23:36 for gem5 by doxygen 1.9.1