gem5 v24.0.0.0
|
#include <AbstractCacheEntry.hh>
Public Member Functions | |
AbstractCacheEntry () | |
virtual | ~AbstractCacheEntry ()=0 |
AccessPermission | getPermission () const |
void | changePermission (AccessPermission new_perm) |
virtual void | print (std::ostream &out) const =0 |
virtual DataBlock & | getDataBlk () |
virtual int & | getNumValidBlocks () |
void | setLocked (int context) |
void | clearLocked () |
bool | isLocked (int context) const |
Tick | getLastAccess () |
void | setLastAccess (Tick tick) |
void | setInHtmReadSet (bool val) |
void | setInHtmWriteSet (bool val) |
bool | getInHtmReadSet () const |
bool | getInHtmWriteSet () const |
virtual void | invalidateEntry () |
virtual std::string | print () const |
Prints relevant information about this entry. | |
Public Member Functions inherited from gem5::ReplaceableEntry | |
ReplaceableEntry () | |
virtual | ~ReplaceableEntry ()=default |
virtual void | setPosition (const uint32_t set, const uint32_t way) |
Set both the set and way. | |
uint32_t | getSet () const |
Get set number. | |
uint32_t | getWay () const |
Get way number. | |
Public Attributes | |
int | validBlocks |
Addr | m_Address |
int | m_locked |
AccessPermission | m_Permission |
Public Attributes inherited from gem5::ReplaceableEntry | |
std::shared_ptr< replacement_policy::ReplacementData > | replacementData |
Replacement data associated to this entry. | |
Private Attributes | |
Tick | m_last_touch_tick |
bool | m_htmInReadSet |
bool | m_htmInWriteSet |
Additional Inherited Members | |
Protected Attributes inherited from gem5::ReplaceableEntry | |
uint32_t | _set |
Set to which this entry belongs. | |
uint32_t | _way |
Way (relative position within the set) to which this entry belongs. | |
Definition at line 62 of file AbstractCacheEntry.hh.
gem5::ruby::AbstractCacheEntry::AbstractCacheEntry | ( | ) |
Definition at line 52 of file AbstractCacheEntry.cc.
References m_Address, m_htmInReadSet, m_htmInWriteSet, m_last_touch_tick, m_locked, and m_Permission.
|
pure virtual |
Definition at line 62 of file AbstractCacheEntry.cc.
void gem5::ruby::AbstractCacheEntry::changePermission | ( | AccessPermission | new_perm | ) |
Definition at line 74 of file AbstractCacheEntry.cc.
References m_locked, and m_Permission.
Referenced by gem5::ruby::DirectoryMemory::allocate().
void gem5::ruby::AbstractCacheEntry::clearLocked | ( | ) |
Definition at line 91 of file AbstractCacheEntry.cc.
References DPRINTF, m_Address, and m_locked.
Referenced by gem5::ruby::CacheMemory::clearLocked(), gem5::ruby::CacheMemory::clearLockedAll(), gem5::ruby::CacheMemory::htmAbortTransaction(), gem5::ruby::CacheMemory::htmCommitTransaction(), gem5::ruby::Sequencer::llscClearMonitor(), and gem5::ruby::Sequencer::llscStoreConditional().
|
inlinevirtual |
Definition at line 82 of file AbstractCacheEntry.hh.
References gem5::ArmISA::b, and panic.
Referenced by gem5::ruby::CacheMemory::testCacheAccess(), and gem5::ruby::CacheMemory::tryCacheAccess().
bool gem5::ruby::AbstractCacheEntry::getInHtmReadSet | ( | ) | const |
Definition at line 118 of file AbstractCacheEntry.cc.
References m_htmInReadSet.
Referenced by gem5::ruby::CacheMemory::htmAbortTransaction(), and gem5::ruby::CacheMemory::htmCommitTransaction().
bool gem5::ruby::AbstractCacheEntry::getInHtmWriteSet | ( | ) | const |
Definition at line 124 of file AbstractCacheEntry.cc.
References m_htmInWriteSet.
Referenced by gem5::ruby::CacheMemory::htmAbortTransaction(), and gem5::ruby::CacheMemory::htmCommitTransaction().
|
inline |
Definition at line 113 of file AbstractCacheEntry.hh.
References m_last_touch_tick.
|
inlinevirtual |
Definition at line 92 of file AbstractCacheEntry.hh.
References validBlocks.
AccessPermission gem5::ruby::AbstractCacheEntry::getPermission | ( | ) | const |
Definition at line 68 of file AbstractCacheEntry.cc.
References m_Permission.
|
inlinevirtual |
Definition at line 123 of file AbstractCacheEntry.hh.
Referenced by gem5::ruby::CacheMemory::htmAbortTransaction().
bool gem5::ruby::AbstractCacheEntry::isLocked | ( | int | context | ) | const |
Definition at line 98 of file AbstractCacheEntry.cc.
References DPRINTF, m_Address, and m_locked.
Referenced by gem5::ruby::CacheMemory::clearLockedAll(), gem5::ruby::CacheMemory::isLocked(), gem5::ruby::Sequencer::llscCheckMonitor(), gem5::ruby::Sequencer::llscClearMonitor(), and gem5::ruby::Sequencer::llscStoreConditional().
|
inlinevirtual |
Prints relevant information about this entry.
Reimplemented from gem5::ReplaceableEntry.
Definition at line 118 of file replaceable_entry.hh.
|
pure virtual |
Referenced by gem5::ruby::operator<<().
void gem5::ruby::AbstractCacheEntry::setInHtmReadSet | ( | bool | val | ) |
Definition at line 106 of file AbstractCacheEntry.cc.
References m_htmInReadSet, and gem5::X86ISA::val.
Referenced by gem5::ruby::CacheMemory::htmAbortTransaction(), and gem5::ruby::CacheMemory::htmCommitTransaction().
void gem5::ruby::AbstractCacheEntry::setInHtmWriteSet | ( | bool | val | ) |
Definition at line 112 of file AbstractCacheEntry.cc.
References m_htmInWriteSet, and gem5::X86ISA::val.
Referenced by gem5::ruby::CacheMemory::htmAbortTransaction(), and gem5::ruby::CacheMemory::htmCommitTransaction().
|
inline |
Definition at line 116 of file AbstractCacheEntry.hh.
References m_last_touch_tick.
Referenced by gem5::ruby::CacheMemory::setMRU(), gem5::ruby::CacheMemory::setMRU(), gem5::ruby::CacheMemory::setMRU(), gem5::ruby::CacheMemory::testCacheAccess(), and gem5::ruby::CacheMemory::tryCacheAccess().
void gem5::ruby::AbstractCacheEntry::setLocked | ( | int | context | ) |
Definition at line 84 of file AbstractCacheEntry.cc.
References DPRINTF, m_Address, and m_locked.
Referenced by gem5::ruby::Sequencer::llscLoadLinked(), and gem5::ruby::CacheMemory::setLocked().
Addr gem5::ruby::AbstractCacheEntry::m_Address |
Definition at line 104 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), gem5::ruby::CacheMemory::allocate(), gem5::ruby::CacheMemory::cacheAvail(), clearLocked(), gem5::ruby::CacheMemory::clearLockedAll(), gem5::ruby::CacheMemory::getAddressAtIdx(), isLocked(), and setLocked().
|
private |
Definition at line 127 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), getInHtmReadSet(), and setInHtmReadSet().
|
private |
Definition at line 128 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), getInHtmWriteSet(), and setInHtmWriteSet().
|
private |
Definition at line 66 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), getLastAccess(), and setLastAccess().
int gem5::ruby::AbstractCacheEntry::m_locked |
Definition at line 107 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), changePermission(), clearLocked(), isLocked(), gem5::ruby::CacheMemory::isLocked(), and setLocked().
AccessPermission gem5::ruby::AbstractCacheEntry::m_Permission |
Definition at line 109 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), gem5::ruby::CacheMemory::cacheAvail(), changePermission(), gem5::ruby::CacheMemory::getAddressAtIdx(), getPermission(), gem5::ruby::CacheMemory::testCacheAccess(), and gem5::ruby::CacheMemory::tryCacheAccess().
int gem5::ruby::AbstractCacheEntry::validBlocks |
Definition at line 91 of file AbstractCacheEntry.hh.
Referenced by getNumValidBlocks().