gem5  v20.1.0.0
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ConfigCache Class Reference

#include <smmu_v3_caches.hh>

Inheritance diagram for ConfigCache:


struct  Entry

Public Member Functions

 ConfigCache (unsigned numEntries, unsigned _associativity, const std::string &policy)
virtual ~ConfigCache ()
const Entrylookup (uint32_t sid, uint32_t ssid, bool updStats=true)
void store (const Entry &incoming)
void invalidateSSID (uint32_t sid, uint32_t ssid)
void invalidateSID (uint32_t sid)
void invalidateAll ()
- Public Member Functions inherited from SMMUv3BaseCache
 SMMUv3BaseCache (const std::string &policy_name, uint32_t seed)
virtual ~SMMUv3BaseCache ()
virtual void regStats (const std::string &name)

Private Types

typedef std::vector< EntrySet

Private Member Functions

size_t pickSetIdx (uint32_t sid, uint32_t ssid) const
size_t pickEntryIdxToReplace (const Set &set)

Private Attributes

std::vector< Setsets
size_t associativity

Additional Inherited Members

- Static Protected Member Functions inherited from SMMUv3BaseCache
static int decodePolicyName (const std::string &policy_name)
- Protected Attributes inherited from SMMUv3BaseCache
int replacementPolicy
size_t nextToReplace
Random random
uint32_t useStamp
Stats::Formula averageLookups
Stats::Scalar totalLookups
Stats::Formula averageMisses
Stats::Scalar totalMisses
Stats::Formula averageUpdates
Stats::Scalar totalUpdates
Stats::Formula averageHitRate
Stats::Scalar insertions

Detailed Description

Definition at line 234 of file smmu_v3_caches.hh.

Member Typedef Documentation

◆ Set

Definition at line 272 of file smmu_v3_caches.hh.

Constructor & Destructor Documentation

◆ ConfigCache()

ConfigCache::ConfigCache ( unsigned  numEntries,
unsigned  _associativity,
const std::string &  policy 

Definition at line 805 of file

References associativity, ArmISA::e, fatal, and sets.

◆ ~ConfigCache()

virtual ConfigCache::~ConfigCache ( )

Definition at line 262 of file smmu_v3_caches.hh.

Member Function Documentation

◆ invalidateAll()

void ConfigCache::invalidateAll ( )

Definition at line 915 of file

References ArmISA::i, ArmISA::s, and sets.

Referenced by SMMUv3::processCommand().

◆ invalidateSID()

void ConfigCache::invalidateSID ( uint32_t  sid)

Definition at line 900 of file

References ArmISA::e, ArmISA::i, ArmISA::s, and sets.

Referenced by SMMUv3::processCommand().

◆ invalidateSSID()

void ConfigCache::invalidateSSID ( uint32_t  sid,
uint32_t  ssid 

Definition at line 887 of file

References ArmISA::e, ArmISA::i, pickSetIdx(), and sets.

Referenced by SMMUv3::processCommand().

◆ lookup()

const ConfigCache::Entry * ConfigCache::lookup ( uint32_t  sid,
uint32_t  ssid,
bool  updStats = true 

◆ pickEntryIdxToReplace()

size_t ConfigCache::pickEntryIdxToReplace ( const Set set)

◆ pickSetIdx()

size_t ConfigCache::pickSetIdx ( uint32_t  sid,
uint32_t  ssid 
) const

Definition at line 926 of file

References sets.

Referenced by invalidateSSID(), lookup(), and store().

◆ store()

void ConfigCache::store ( const Entry incoming)

Member Data Documentation

◆ associativity

size_t ConfigCache::associativity

Definition at line 275 of file smmu_v3_caches.hh.

Referenced by ConfigCache(), and pickEntryIdxToReplace().

◆ sets

std::vector<Set> ConfigCache::sets

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

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