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

#include <smmu_v3_caches.hh>

Inheritance diagram for gem5::ConfigCache:
gem5::SMMUv3BaseCache

Classes

struct  Entry
 

Public Member Functions

 ConfigCache (unsigned numEntries, unsigned _associativity, const std::string &policy, statistics::Group *parent)
 
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 gem5::SMMUv3BaseCache
 SMMUv3BaseCache (const std::string &policy_name, uint32_t seed, statistics::Group *parent, const std::string &name)
 
virtual ~SMMUv3BaseCache ()
 

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 gem5::SMMUv3BaseCache
static int decodePolicyName (const std::string &policy_name)
 
- Protected Attributes inherited from gem5::SMMUv3BaseCache
int replacementPolicy
 
size_t nextToReplace
 
Random random
 
uint32_t useStamp
 
gem5::SMMUv3BaseCache::SMMUv3BaseCacheStats baseCacheStats
 

Detailed Description

Definition at line 245 of file smmu_v3_caches.hh.

Member Typedef Documentation

◆ Set

Definition at line 283 of file smmu_v3_caches.hh.

Constructor & Destructor Documentation

◆ ConfigCache()

gem5::ConfigCache::ConfigCache ( unsigned  numEntries,
unsigned  _associativity,
const std::string &  policy,
statistics::Group parent 
)

Definition at line 813 of file smmu_v3_caches.cc.

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

◆ ~ConfigCache()

virtual gem5::ConfigCache::~ConfigCache ( )
inlinevirtual

Definition at line 273 of file smmu_v3_caches.hh.

Member Function Documentation

◆ invalidateAll()

void gem5::ConfigCache::invalidateAll ( )

Definition at line 923 of file smmu_v3_caches.cc.

References gem5::ArmISA::i, gem5::VegaISA::s, gem5::ArmISA::set, and sets.

Referenced by gem5::SMMUv3::processCommand().

◆ invalidateSID()

void gem5::ConfigCache::invalidateSID ( uint32_t  sid)

◆ invalidateSSID()

void gem5::ConfigCache::invalidateSSID ( uint32_t  sid,
uint32_t  ssid 
)

◆ lookup()

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

◆ pickEntryIdxToReplace()

size_t gem5::ConfigCache::pickEntryIdxToReplace ( const Set set)
private

◆ pickSetIdx()

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

Definition at line 934 of file smmu_v3_caches.cc.

References sets.

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

◆ store()

void gem5::ConfigCache::store ( const Entry incoming)

Member Data Documentation

◆ associativity

size_t gem5::ConfigCache::associativity
private

Definition at line 286 of file smmu_v3_caches.hh.

Referenced by ConfigCache(), and pickEntryIdxToReplace().

◆ sets

std::vector<Set> gem5::ConfigCache::sets
private

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

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