|
gem5 [DEVELOP-FOR-25.0]
|
TLB Range Invalidate by VA. More...
#include <tlbi_op.hh>
Public Member Functions | |
| TLBIRMVA (TranslationRegime _target_regime, SecurityState _ss, RegVal val, uint16_t _asid, bool last_level, Attr _attr) | |
| bool | matchEntry (TlbEntry *entry, vmid_t curr_vmid) const override |
Public Member Functions inherited from gem5::ArmISA::TLBIRange | |
| bool | valid () const |
| Is the range valid? | |
Public Member Functions inherited from gem5::ArmISA::TLBIMVA | |
| TLBIMVA (TranslationRegime _target_regime, SecurityState _ss, Addr _addr, uint16_t _asid, bool last_level, Attr _attr=Attr::None) | |
| void | operator() (ThreadContext *tc) override |
Public Member Functions inherited from gem5::ArmISA::TLBIOp | |
| TLBIOp (TranslationRegime _target_regime, SecurityState _ss, Attr _attr) | |
| virtual | ~TLBIOp () |
| 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 | 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. | |
Additional Inherited Members | |
Public Types inherited from gem5::ArmISA::TLBIOp | |
| enum class | Attr { None , ExcludeXS } |
Public Attributes inherited from gem5::ArmISA::TLBIMVA | |
| Addr | addr |
| uint16_t | asid |
| bool | lastLevel |
Public Attributes inherited from gem5::ArmISA::TLBIOp | |
| SecurityState | ss |
| TranslationRegime | targetRegime |
| Attr | attr |
Protected Member Functions inherited from gem5::ArmISA::TLBIRange | |
| BitUnion64 (RangeData) Bitfield< 47 | |
| EndBitUnion (RangeData) static const expr std | |
| TLBIRange (RegVal val) | |
| Addr | startAddress () const |
| Addr | rangeSize () const |
| bool | resTLBIttl (uint8_t tg, uint8_t ttl) const |
Protected Member Functions inherited from gem5::ArmISA::TLBIMVA | |
| TlbEntry::KeyType | lookupGen (vmid_t vmid) const |
Protected Attributes inherited from gem5::ArmISA::TLBIRange | |
| tg | |
| Bitfield< 45, 44 > | scale |
| Bitfield< 43, 39 > | num |
| Bitfield< 38, 37 > | ttl |
| Bitfield< 36, 0 > | baseAddr |
| RangeData | rangeData |
| GrainSize | granule |
TLB Range Invalidate by VA.
Definition at line 459 of file tlbi_op.hh.
|
inline |
Definition at line 462 of file tlbi_op.hh.
References gem5::ArmISA::TLBIRange::startAddress(), gem5::ArmISA::TLBIMVA::TLBIMVA(), gem5::ArmISA::TLBIRange::TLBIRange(), and gem5::X86ISA::val.
|
overridevirtual |
Reimplemented from gem5::ArmISA::TLBIMVA.
Definition at line 336 of file tlbi_op.cc.
References gem5::ArmISA::TLBIMVA::lastLevel, gem5::ArmISA::TLBIMVA::lookupGen(), gem5::ArmISA::TLBIRange::rangeData, gem5::ArmISA::TLBIRange::rangeSize(), gem5::ArmISA::TLBIRange::resTLBIttl(), gem5::ArmISA::TLBTypes::KeyType::size, and gem5::ArmISA::te.