gem5  v20.1.0.0
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)
 
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< ReplacementDatareplacementData
 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...
 

Detailed Description

Definition at line 57 of file AbstractCacheEntry.hh.

Constructor & Destructor Documentation

◆ AbstractCacheEntry()

AbstractCacheEntry::AbstractCacheEntry ( )

◆ ~AbstractCacheEntry()

AbstractCacheEntry::~AbstractCacheEntry ( )
pure virtual

Definition at line 56 of file AbstractCacheEntry.cc.

Member Function Documentation

◆ changePermission()

void AbstractCacheEntry::changePermission ( AccessPermission  new_perm)

Definition at line 68 of file AbstractCacheEntry.cc.

References m_locked, and m_Permission.

Referenced by DirectoryMemory::allocate().

◆ clearLocked()

void AbstractCacheEntry::clearLocked ( )

◆ getDataBlk()

virtual DataBlock& AbstractCacheEntry::getDataBlk ( )
inlinevirtual

Definition at line 76 of file AbstractCacheEntry.hh.

References panic.

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

◆ getInHtmReadSet()

bool AbstractCacheEntry::getInHtmReadSet ( ) const

◆ getInHtmWriteSet()

bool AbstractCacheEntry::getInHtmWriteSet ( ) const

◆ getLastAccess()

Tick AbstractCacheEntry::getLastAccess ( )
inline

Definition at line 101 of file AbstractCacheEntry.hh.

References m_last_touch_tick.

◆ getNumValidBlocks()

virtual int& AbstractCacheEntry::getNumValidBlocks ( )
inlinevirtual

Definition at line 80 of file AbstractCacheEntry.hh.

References validBlocks.

◆ getPermission()

AccessPermission AbstractCacheEntry::getPermission ( ) const

Definition at line 62 of file AbstractCacheEntry.cc.

References m_Permission.

◆ invalidateEntry()

virtual void AbstractCacheEntry::invalidateEntry ( )
inlinevirtual

Definition at line 111 of file AbstractCacheEntry.hh.

Referenced by CacheMemory::htmAbortTransaction().

◆ isLocked()

bool AbstractCacheEntry::isLocked ( int  context) const

◆ print() [1/2]

virtual std::string ReplaceableEntry::print
inline

Prints relevant information about this entry.

Returns
A string containg the contents of this entry.

Definition at line 109 of file replaceable_entry.hh.

◆ print() [2/2]

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

Referenced by operator<<().

◆ setInHtmReadSet()

void AbstractCacheEntry::setInHtmReadSet ( bool  val)

◆ setInHtmWriteSet()

void AbstractCacheEntry::setInHtmWriteSet ( bool  val)

◆ setLastAccess()

void AbstractCacheEntry::setLastAccess ( Tick  tick)
inline

◆ setLocked()

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

Member Data Documentation

◆ m_Address

Addr AbstractCacheEntry::m_Address

◆ m_htmInReadSet

bool AbstractCacheEntry::m_htmInReadSet
private

Definition at line 115 of file AbstractCacheEntry.hh.

Referenced by AbstractCacheEntry(), getInHtmReadSet(), and setInHtmReadSet().

◆ m_htmInWriteSet

bool AbstractCacheEntry::m_htmInWriteSet
private

Definition at line 116 of file AbstractCacheEntry.hh.

Referenced by AbstractCacheEntry(), getInHtmWriteSet(), and setInHtmWriteSet().

◆ m_last_touch_tick

Tick AbstractCacheEntry::m_last_touch_tick
private

Definition at line 61 of file AbstractCacheEntry.hh.

Referenced by AbstractCacheEntry(), getLastAccess(), and setLastAccess().

◆ m_locked

int AbstractCacheEntry::m_locked

◆ m_Permission

AccessPermission AbstractCacheEntry::m_Permission

◆ validBlocks

int AbstractCacheEntry::validBlocks

Definition at line 79 of file AbstractCacheEntry.hh.

Referenced by getNumValidBlocks().


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

Generated on Wed Sep 30 2020 14:02:20 for gem5 by doxygen 1.8.17