|
gem5
v22.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 gem5::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 gem5::ReplaceableEntry | |
| std::shared_ptr< replacement_policy::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 gem5::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 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().
|
inline |
Prints relevant information about this entry.
Definition at line 119 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::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::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(), gem5::ruby::CacheMemory::isLocked(), 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().