gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
AbstractCacheEntry Class Referenceabstract

#include <AbstractCacheEntry.hh>

Inheritance diagram for AbstractCacheEntry:
ReplaceableEntry

Public Member Functions

 AbstractCacheEntry ()
 
virtual ~AbstractCacheEntry ()=0
 
AccessPermission getPermission () const
 
void changePermission (AccessPermission new_perm)
 
virtual void print (std::ostream &out) const =0
 
virtual DataBlockgetDataBlk ()
 
virtual int & getNumValidBlocks ()
 
void setLocked (int context)
 
void clearLocked ()
 
bool isLocked (int context) const
 
Tick getLastAccess ()
 
void setLastAccess (Tick tick)
 
- 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< ReplacementDatareplacementData
 Replacement data associated to this entry. More...
 

Private Attributes

Tick m_last_touch_tick
 

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...
 

Detailed Description

Definition at line 45 of file AbstractCacheEntry.hh.

Constructor & Destructor Documentation

◆ AbstractCacheEntry()

AbstractCacheEntry::AbstractCacheEntry ( )

Definition at line 34 of file AbstractCacheEntry.cc.

References m_Address, m_last_touch_tick, m_locked, and m_Permission.

◆ ~AbstractCacheEntry()

AbstractCacheEntry::~AbstractCacheEntry ( )
pure virtual

Definition at line 42 of file AbstractCacheEntry.cc.

Member Function Documentation

◆ changePermission()

void AbstractCacheEntry::changePermission ( AccessPermission  new_perm)

Definition at line 54 of file AbstractCacheEntry.cc.

References m_locked, and m_Permission.

Referenced by DirectoryMemory::allocate().

◆ clearLocked()

void AbstractCacheEntry::clearLocked ( )

Definition at line 71 of file AbstractCacheEntry.cc.

References DPRINTF, m_Address, and m_locked.

Referenced by getNumValidBlocks(), Sequencer::handleLlsc(), and Sequencer::invalidateSC().

◆ getDataBlk()

virtual DataBlock& AbstractCacheEntry::getDataBlk ( )
inlinevirtual

Definition at line 63 of file AbstractCacheEntry.hh.

References panic.

Referenced by CacheMemory::testCacheAccess(), and CacheMemory::tryCacheAccess().

◆ getLastAccess()

Tick AbstractCacheEntry::getLastAccess ( )
inline

Definition at line 88 of file AbstractCacheEntry.hh.

References m_last_touch_tick.

◆ getNumValidBlocks()

virtual int& AbstractCacheEntry::getNumValidBlocks ( )
inlinevirtual

Definition at line 67 of file AbstractCacheEntry.hh.

References clearLocked(), isLocked(), setLocked(), and validBlocks.

◆ getPermission()

AccessPermission AbstractCacheEntry::getPermission ( ) const

Definition at line 48 of file AbstractCacheEntry.cc.

References m_Permission.

◆ isLocked()

bool AbstractCacheEntry::isLocked ( int  context) const

Definition at line 78 of file AbstractCacheEntry.cc.

References DPRINTF, m_Address, and m_locked.

Referenced by getNumValidBlocks(), Sequencer::handleLlsc(), and Sequencer::invalidateSC().

◆ print()

virtual void AbstractCacheEntry::print ( std::ostream &  out) const
pure virtual

Referenced by operator<<().

◆ setLastAccess()

void AbstractCacheEntry::setLastAccess ( Tick  tick)
inline

Definition at line 91 of file AbstractCacheEntry.hh.

◆ setLocked()

void AbstractCacheEntry::setLocked ( int  context)

Definition at line 64 of file AbstractCacheEntry.cc.

References DPRINTF, m_Address, and m_locked.

Referenced by getNumValidBlocks(), and Sequencer::handleLlsc().

Member Data Documentation

◆ m_Address

Addr AbstractCacheEntry::m_Address

◆ m_last_touch_tick

Tick AbstractCacheEntry::m_last_touch_tick
private

Definition at line 49 of file AbstractCacheEntry.hh.

Referenced by AbstractCacheEntry(), and getLastAccess().

◆ m_locked

int AbstractCacheEntry::m_locked

◆ m_Permission

AccessPermission AbstractCacheEntry::m_Permission

◆ validBlocks

int AbstractCacheEntry::validBlocks

Definition at line 66 of file AbstractCacheEntry.hh.

Referenced by getNumValidBlocks().


The documentation for this class was generated from the following files:

Generated on Fri Feb 28 2020 16:27:07 for gem5 by doxygen 1.8.13