gem5  v22.1.0.0
Public Member Functions | Public Attributes | Private Attributes | List of all members
gem5::ruby::AbstractCacheEntry Class Referenceabstract

#include <AbstractCacheEntry.hh>

Inheritance diagram for gem5::ruby::AbstractCacheEntry:
gem5::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 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::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 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...
 

Detailed Description

Definition at line 62 of file AbstractCacheEntry.hh.

Constructor & Destructor Documentation

◆ AbstractCacheEntry()

gem5::ruby::AbstractCacheEntry::AbstractCacheEntry ( )

◆ ~AbstractCacheEntry()

gem5::ruby::AbstractCacheEntry::~AbstractCacheEntry ( )
pure virtual

Definition at line 62 of file AbstractCacheEntry.cc.

Member Function Documentation

◆ changePermission()

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

◆ clearLocked()

void gem5::ruby::AbstractCacheEntry::clearLocked ( )

◆ getDataBlk()

virtual DataBlock& gem5::ruby::AbstractCacheEntry::getDataBlk ( )
inlinevirtual

◆ getInHtmReadSet()

bool gem5::ruby::AbstractCacheEntry::getInHtmReadSet ( ) const

◆ getInHtmWriteSet()

bool gem5::ruby::AbstractCacheEntry::getInHtmWriteSet ( ) const

◆ getLastAccess()

Tick gem5::ruby::AbstractCacheEntry::getLastAccess ( )
inline

Definition at line 113 of file AbstractCacheEntry.hh.

References m_last_touch_tick.

◆ getNumValidBlocks()

virtual int& gem5::ruby::AbstractCacheEntry::getNumValidBlocks ( )
inlinevirtual

Definition at line 92 of file AbstractCacheEntry.hh.

References validBlocks.

◆ getPermission()

AccessPermission gem5::ruby::AbstractCacheEntry::getPermission ( ) const

Definition at line 68 of file AbstractCacheEntry.cc.

References m_Permission.

◆ invalidateEntry()

virtual void gem5::ruby::AbstractCacheEntry::invalidateEntry ( )
inlinevirtual

Definition at line 123 of file AbstractCacheEntry.hh.

Referenced by gem5::ruby::CacheMemory::htmAbortTransaction().

◆ isLocked()

bool gem5::ruby::AbstractCacheEntry::isLocked ( int  context) const

◆ print() [1/2]

virtual std::string gem5::ReplaceableEntry::print ( void  )
inline

Prints relevant information about this entry.

Returns
A string containg the contents of this entry.

Definition at line 119 of file replaceable_entry.hh.

◆ print() [2/2]

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

Referenced by gem5::ruby::operator<<().

◆ setInHtmReadSet()

void gem5::ruby::AbstractCacheEntry::setInHtmReadSet ( bool  val)

◆ setInHtmWriteSet()

void gem5::ruby::AbstractCacheEntry::setInHtmWriteSet ( bool  val)

◆ setLastAccess()

void gem5::ruby::AbstractCacheEntry::setLastAccess ( Tick  tick)
inline

◆ setLocked()

void gem5::ruby::AbstractCacheEntry::setLocked ( int  context)

Member Data Documentation

◆ m_Address

Addr gem5::ruby::AbstractCacheEntry::m_Address

◆ m_htmInReadSet

bool gem5::ruby::AbstractCacheEntry::m_htmInReadSet
private

Definition at line 127 of file AbstractCacheEntry.hh.

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

◆ m_htmInWriteSet

bool gem5::ruby::AbstractCacheEntry::m_htmInWriteSet
private

Definition at line 128 of file AbstractCacheEntry.hh.

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

◆ m_last_touch_tick

Tick gem5::ruby::AbstractCacheEntry::m_last_touch_tick
private

Definition at line 66 of file AbstractCacheEntry.hh.

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

◆ m_locked

int gem5::ruby::AbstractCacheEntry::m_locked

◆ m_Permission

AccessPermission gem5::ruby::AbstractCacheEntry::m_Permission

◆ validBlocks

int gem5::ruby::AbstractCacheEntry::validBlocks

Definition at line 91 of file AbstractCacheEntry.hh.

Referenced by getNumValidBlocks().


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

Generated on Wed Dec 21 2022 10:24:23 for gem5 by doxygen 1.9.1