|
gem5 [DEVELOP-FOR-25.0]
|
#include <PerfectCacheMemory.hh>
Public Member Functions | |
| PerfectCacheMemory () | |
| void | setRubySystem (RubySystem *rs) |
| bool | isTagPresent (Addr address) const |
| bool | cacheAvail (Addr address) const |
| void | allocate (Addr address) |
| void | deallocate (Addr address) |
| Addr | cacheProbe (Addr newAddress) const |
| ENTRY * | lookup (Addr address) |
| const ENTRY * | lookup (Addr address) const |
| AccessPermission | getPermission (Addr address) const |
| void | changePermission (Addr address, AccessPermission new_perm) |
| void | print (std::ostream &out) const |
Private Member Functions | |
| PerfectCacheMemory (const PerfectCacheMemory &obj) | |
| PerfectCacheMemory & | operator= (const PerfectCacheMemory &obj) |
Private Attributes | |
| std::unordered_map< Addr, PerfectCacheLineState< ENTRY > > | m_map |
| RubySystem * | m_ruby_system = nullptr |
| int | m_block_size = 0 |
Static Private Attributes | |
| static constexpr bool | entryRequiresRubySystem |
Definition at line 74 of file PerfectCacheMemory.hh.
|
inline |
Definition at line 134 of file PerfectCacheMemory.hh.
Referenced by operator=(), and PerfectCacheMemory().
|
private |
References PerfectCacheMemory().
|
inline |
Definition at line 165 of file PerfectCacheMemory.hh.
References entryRequiresRubySystem, gem5::floorLog2(), m_block_size, gem5::ruby::PerfectCacheLineState< ENTRY >::m_entry, m_map, gem5::ruby::PerfectCacheLineState< ENTRY >::m_permission, m_ruby_system, and gem5::ruby::makeLineAddress().
|
inline |
Definition at line 156 of file PerfectCacheMemory.hh.
|
inline |
Definition at line 190 of file PerfectCacheMemory.hh.
References panic.
|
inline |
Definition at line 224 of file PerfectCacheMemory.hh.
References gem5::floorLog2(), m_block_size, m_map, gem5::ruby::PerfectCacheLineState< ENTRY >::m_permission, and gem5::ruby::makeLineAddress().
|
inline |
Definition at line 180 of file PerfectCacheMemory.hh.
References gem5::floorLog2(), m_block_size, m_map, and gem5::ruby::makeLineAddress().
|
inline |
Definition at line 216 of file PerfectCacheMemory.hh.
References gem5::floorLog2(), m_block_size, m_map, and gem5::ruby::makeLineAddress().
|
inline |
Definition at line 149 of file PerfectCacheMemory.hh.
References gem5::floorLog2(), m_block_size, m_map, and gem5::ruby::makeLineAddress().
|
inline |
Definition at line 199 of file PerfectCacheMemory.hh.
References gem5::floorLog2(), m_block_size, m_map, and gem5::ruby::makeLineAddress().
|
inline |
Definition at line 208 of file PerfectCacheMemory.hh.
References gem5::floorLog2(), m_block_size, m_map, and gem5::ruby::makeLineAddress().
|
private |
References PerfectCacheMemory().
|
inline |
Definition at line 234 of file PerfectCacheMemory.hh.
Referenced by gem5::ruby::operator<<().
|
inline |
Definition at line 140 of file PerfectCacheMemory.hh.
References m_block_size, m_ruby_system, and gem5::ArmISA::rs.
|
staticconstexprprivate |
Definition at line 119 of file PerfectCacheMemory.hh.
Referenced by allocate().
|
private |
Definition at line 117 of file PerfectCacheMemory.hh.
Referenced by allocate(), changePermission(), deallocate(), getPermission(), isTagPresent(), lookup(), lookup(), and setRubySystem().
|
private |
Definition at line 114 of file PerfectCacheMemory.hh.
Referenced by allocate(), changePermission(), deallocate(), getPermission(), isTagPresent(), lookup(), and lookup().
|
private |
Definition at line 116 of file PerfectCacheMemory.hh.
Referenced by allocate(), and setRubySystem().