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

#include <AbstractCacheEntry.hh>

Inheritance diagram for AbstractCacheEntry:
AbstractEntry

Public Member Functions

 AbstractCacheEntry ()
 
virtual ~AbstractCacheEntry ()=0
 
void changePermission (AccessPermission new_perm)
 
virtual DataBlockgetDataBlk ()
 
virtual int & getNumValidBlocks ()
 
void setLocked (int context)
 
void clearLocked ()
 
bool isLocked (int context) const
 
void setSetIndex (uint32_t s)
 
uint32_t getSetIndex () const
 
void setWayIndex (uint32_t s)
 
uint32_t getWayIndex () const
 
- Public Member Functions inherited from AbstractEntry
 AbstractEntry ()
 
virtual ~AbstractEntry ()=0
 
AccessPermission getPermission () const
 
void changePermission (AccessPermission new_perm)
 
virtual void print (std::ostream &out) const =0
 

Public Attributes

int validBlocks
 
Addr m_Address
 
int m_locked
 
- Public Attributes inherited from AbstractEntry
AccessPermission m_Permission
 

Private Attributes

uint32_t m_set_index
 
uint32_t m_way_index
 

Detailed Description

Definition at line 45 of file AbstractCacheEntry.hh.

Constructor & Destructor Documentation

AbstractCacheEntry::AbstractCacheEntry ( )

Definition at line 34 of file AbstractCacheEntry.cc.

References m_Address, m_locked, and AbstractEntry::m_Permission.

AbstractCacheEntry::~AbstractCacheEntry ( )
pure virtual

Definition at line 41 of file AbstractCacheEntry.cc.

Member Function Documentation

void AbstractCacheEntry::changePermission ( AccessPermission  new_perm)

Definition at line 46 of file AbstractCacheEntry.cc.

References AbstractEntry::changePermission(), and m_locked.

void AbstractCacheEntry::clearLocked ( )

Definition at line 63 of file AbstractCacheEntry.cc.

References DPRINTF, m_Address, and m_locked.

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

virtual DataBlock& AbstractCacheEntry::getDataBlk ( )
inlinevirtual

Definition at line 56 of file AbstractCacheEntry.hh.

References panic.

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

virtual int& AbstractCacheEntry::getNumValidBlocks ( )
inlinevirtual

Definition at line 60 of file AbstractCacheEntry.hh.

References validBlocks.

uint32_t AbstractCacheEntry::getSetIndex ( ) const
inline

Definition at line 72 of file AbstractCacheEntry.hh.

References m_set_index.

Referenced by CacheMemory::setMRU().

uint32_t AbstractCacheEntry::getWayIndex ( ) const
inline

Definition at line 75 of file AbstractCacheEntry.hh.

References m_way_index.

Referenced by CacheMemory::setMRU().

bool AbstractCacheEntry::isLocked ( int  context) const

Definition at line 70 of file AbstractCacheEntry.cc.

References DPRINTF, m_Address, and m_locked.

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

void AbstractCacheEntry::setLocked ( int  context)

Definition at line 56 of file AbstractCacheEntry.cc.

References DPRINTF, m_Address, and m_locked.

Referenced by Sequencer::handleLlsc().

void AbstractCacheEntry::setSetIndex ( uint32_t  s)
inline

Definition at line 71 of file AbstractCacheEntry.hh.

References m_set_index, and ArmISA::s.

Referenced by CacheMemory::allocate().

void AbstractCacheEntry::setWayIndex ( uint32_t  s)
inline

Definition at line 74 of file AbstractCacheEntry.hh.

References m_way_index, and ArmISA::s.

Referenced by CacheMemory::allocate().

Member Data Documentation

Addr AbstractCacheEntry::m_Address
int AbstractCacheEntry::m_locked
uint32_t AbstractCacheEntry::m_set_index
private

Definition at line 85 of file AbstractCacheEntry.hh.

Referenced by getSetIndex(), and setSetIndex().

uint32_t AbstractCacheEntry::m_way_index
private

Definition at line 86 of file AbstractCacheEntry.hh.

Referenced by getWayIndex(), and setWayIndex().

int AbstractCacheEntry::validBlocks

Definition at line 59 of file AbstractCacheEntry.hh.

Referenced by getNumValidBlocks().


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

Generated on Fri Jun 9 2017 13:04:00 for gem5 by doxygen 1.8.6