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

#include <smmu_v3_caches.hh>

Inheritance diagram for gem5::WalkCache:


struct  Entry
struct  WalkCacheStats

Public Member Functions

 WalkCache (const std::array< unsigned, 2 *WALK_CACHE_LEVELS > &_sizes, unsigned _associativity, const std::string &policy, statistics::Group *parent)
virtual ~WalkCache ()
const Entrylookup (Addr va, Addr vaMask, uint16_t asid, uint16_t vmid, unsigned stage, unsigned level, bool updStats=true)
void store (const Entry &incoming)
void invalidateVA (Addr va, uint16_t asid, uint16_t vmid, const bool leaf_only)
void invalidateVAA (Addr va, uint16_t vmid, const bool leaf_only)
void invalidateASID (uint16_t asid, uint16_t vmid)
void invalidateVMID (uint16_t vmid)
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 ()

Protected Attributes

gem5::WalkCache::WalkCacheStats walkCacheStats
- Protected Attributes inherited from gem5::SMMUv3BaseCache
int replacementPolicy
size_t nextToReplace
Random random
uint32_t useStamp
gem5::SMMUv3BaseCache::SMMUv3BaseCacheStats baseCacheStats

Private Types

typedef std::vector< EntrySet

Private Member Functions

size_t pickSetIdx (Addr va, Addr vaMask, unsigned stage, unsigned level) const
size_t pickEntryIdxToReplace (const Set &set, unsigned stage, unsigned level)

Private Attributes

std::vector< Setsets
size_t associativity
std::array< unsigned, 2 *WALK_CACHE_LEVELSsizes
std::array< unsigned, 2 *WALK_CACHE_LEVELSoffsets

Additional Inherited Members

- Static Protected Member Functions inherited from gem5::SMMUv3BaseCache
static int decodePolicyName (const std::string &policy_name)

Detailed Description

Definition at line 292 of file smmu_v3_caches.hh.

Member Typedef Documentation

◆ Set

Definition at line 350 of file smmu_v3_caches.hh.

Constructor & Destructor Documentation

◆ WalkCache()

gem5::WalkCache::WalkCache ( const std::array< unsigned, 2 *WALK_CACHE_LEVELS > &  _sizes,
unsigned  _associativity,
const std::string &  policy,
statistics::Group parent 

◆ ~WalkCache()

virtual gem5::WalkCache::~WalkCache ( )

Definition at line 317 of file smmu_v3_caches.hh.

Member Function Documentation

◆ invalidateAll()

void gem5::WalkCache::invalidateAll ( )

Definition at line 1158 of file

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

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

◆ invalidateASID()

void gem5::WalkCache::invalidateASID ( uint16_t  asid,
uint16_t  vmid 

◆ invalidateVA()

void gem5::WalkCache::invalidateVA ( Addr  va,
uint16_t  asid,
uint16_t  vmid,
const bool  leaf_only 

◆ invalidateVAA()

void gem5::WalkCache::invalidateVAA ( Addr  va,
uint16_t  vmid,
const bool  leaf_only 

◆ invalidateVMID()

void gem5::WalkCache::invalidateVMID ( uint16_t  vmid)

◆ lookup()

const WalkCache::Entry * gem5::WalkCache::lookup ( Addr  va,
Addr  vaMask,
uint16_t  asid,
uint16_t  vmid,
unsigned  stage,
unsigned  level,
bool  updStats = true 

◆ pickEntryIdxToReplace()

size_t gem5::WalkCache::pickEntryIdxToReplace ( const Set set,
unsigned  stage,
unsigned  level 

◆ pickSetIdx()

size_t gem5::WalkCache::pickSetIdx ( Addr  va,
Addr  vaMask,
unsigned  stage,
unsigned  level 
) const

◆ store()

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

Member Data Documentation

◆ associativity

size_t gem5::WalkCache::associativity

Definition at line 353 of file smmu_v3_caches.hh.

Referenced by pickEntryIdxToReplace(), and WalkCache().

◆ offsets

std::array<unsigned, 2*WALK_CACHE_LEVELS> gem5::WalkCache::offsets

Definition at line 355 of file smmu_v3_caches.hh.

Referenced by pickSetIdx(), and WalkCache().

◆ sets

std::vector<Set> gem5::WalkCache::sets

◆ sizes

std::array<unsigned, 2*WALK_CACHE_LEVELS> gem5::WalkCache::sizes

Definition at line 354 of file smmu_v3_caches.hh.

Referenced by pickSetIdx(), and WalkCache().

◆ walkCacheStats

gem5::WalkCache::WalkCacheStats gem5::WalkCache::walkCacheStats

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