gem5
v20.1.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. More... | |
Public Member Functions inherited from ReplaceableEntry | |
ReplaceableEntry ()=default | |
virtual | ~ReplaceableEntry ()=default |
virtual void | setPosition (const uint32_t set, const uint32_t way) |
Set both the set and way. More... | |
uint32_t | getSet () const |
Get set number. More... | |
uint32_t | getWay () const |
Get way number. More... | |
virtual std::string | print () const |
Prints relevant information about this entry. More... | |
Public Attributes | |
int | validBlocks |
Addr | m_Address |
int | m_locked |
AccessPermission | m_Permission |
Public Attributes inherited from ReplaceableEntry | |
std::shared_ptr< ReplacementData > | replacementData |
Replacement data associated to this entry. More... | |
Private Attributes | |
Tick | m_last_touch_tick |
bool | m_htmInReadSet |
bool | m_htmInWriteSet |
Additional Inherited Members | |
Protected Attributes inherited from ReplaceableEntry | |
uint32_t | _set |
Set to which this entry belongs. More... | |
uint32_t | _way |
Way (relative position within the set) to which this entry belongs. More... | |
Definition at line 57 of file AbstractCacheEntry.hh.
AbstractCacheEntry::AbstractCacheEntry | ( | ) |
Definition at line 46 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 56 of file AbstractCacheEntry.cc.
void AbstractCacheEntry::changePermission | ( | AccessPermission | new_perm | ) |
Definition at line 68 of file AbstractCacheEntry.cc.
References m_locked, and m_Permission.
Referenced by DirectoryMemory::allocate().
void AbstractCacheEntry::clearLocked | ( | ) |
Definition at line 85 of file AbstractCacheEntry.cc.
References DPRINTF, m_Address, and m_locked.
Referenced by CacheMemory::clearLocked(), CacheMemory::clearLockedAll(), CacheMemory::htmAbortTransaction(), CacheMemory::htmCommitTransaction(), Sequencer::llscClearMonitor(), and Sequencer::llscStoreConditional().
|
inlinevirtual |
Definition at line 76 of file AbstractCacheEntry.hh.
References panic.
Referenced by CacheMemory::testCacheAccess(), and CacheMemory::tryCacheAccess().
bool AbstractCacheEntry::getInHtmReadSet | ( | ) | const |
Definition at line 112 of file AbstractCacheEntry.cc.
References m_htmInReadSet.
Referenced by CacheMemory::htmAbortTransaction(), and CacheMemory::htmCommitTransaction().
bool AbstractCacheEntry::getInHtmWriteSet | ( | ) | const |
Definition at line 118 of file AbstractCacheEntry.cc.
References m_htmInWriteSet.
Referenced by CacheMemory::htmAbortTransaction(), and CacheMemory::htmCommitTransaction().
|
inline |
Definition at line 101 of file AbstractCacheEntry.hh.
References m_last_touch_tick.
|
inlinevirtual |
Definition at line 80 of file AbstractCacheEntry.hh.
References validBlocks.
AccessPermission AbstractCacheEntry::getPermission | ( | ) | const |
Definition at line 62 of file AbstractCacheEntry.cc.
References m_Permission.
|
inlinevirtual |
Definition at line 111 of file AbstractCacheEntry.hh.
Referenced by CacheMemory::htmAbortTransaction().
bool AbstractCacheEntry::isLocked | ( | int | context | ) | const |
Definition at line 92 of file AbstractCacheEntry.cc.
References DPRINTF, m_Address, and m_locked.
Referenced by CacheMemory::clearLockedAll(), CacheMemory::isLocked(), Sequencer::llscCheckMonitor(), Sequencer::llscClearMonitor(), and Sequencer::llscStoreConditional().
|
inline |
Prints relevant information about this entry.
Definition at line 109 of file replaceable_entry.hh.
|
pure virtual |
Referenced by operator<<().
void AbstractCacheEntry::setInHtmReadSet | ( | bool | val | ) |
Definition at line 100 of file AbstractCacheEntry.cc.
References m_htmInReadSet, and X86ISA::val.
Referenced by CacheMemory::htmAbortTransaction(), and CacheMemory::htmCommitTransaction().
void AbstractCacheEntry::setInHtmWriteSet | ( | bool | val | ) |
Definition at line 106 of file AbstractCacheEntry.cc.
References m_htmInWriteSet, and X86ISA::val.
Referenced by CacheMemory::htmAbortTransaction(), and CacheMemory::htmCommitTransaction().
|
inline |
Definition at line 104 of file AbstractCacheEntry.hh.
References m_last_touch_tick.
Referenced by CacheMemory::setMRU(), CacheMemory::testCacheAccess(), and CacheMemory::tryCacheAccess().
void AbstractCacheEntry::setLocked | ( | int | context | ) |
Definition at line 78 of file AbstractCacheEntry.cc.
References DPRINTF, m_Address, and m_locked.
Referenced by Sequencer::llscLoadLinked(), and CacheMemory::setLocked().
Addr AbstractCacheEntry::m_Address |
Definition at line 92 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), CacheMemory::cacheAvail(), clearLocked(), CacheMemory::clearLockedAll(), CacheMemory::getAddressAtIdx(), isLocked(), and setLocked().
|
private |
Definition at line 115 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), getInHtmReadSet(), and setInHtmReadSet().
|
private |
Definition at line 116 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), getInHtmWriteSet(), and setInHtmWriteSet().
|
private |
Definition at line 61 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), getLastAccess(), and setLastAccess().
int AbstractCacheEntry::m_locked |
Definition at line 95 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), changePermission(), clearLocked(), isLocked(), CacheMemory::isLocked(), and setLocked().
AccessPermission AbstractCacheEntry::m_Permission |
Definition at line 97 of file AbstractCacheEntry.hh.
Referenced by AbstractCacheEntry(), CacheMemory::cacheAvail(), changePermission(), CacheMemory::getAddressAtIdx(), getPermission(), CacheMemory::testCacheAccess(), and CacheMemory::tryCacheAccess().
int AbstractCacheEntry::validBlocks |
Definition at line 79 of file AbstractCacheEntry.hh.
Referenced by getNumValidBlocks().