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

#include <smmu_v3_caches.hh>

Inheritance diagram for gem5::IPACache:


struct  Entry

Public Member Functions

 IPACache (unsigned numEntries, unsigned _associativity, const std::string &policy, statistics::Group *parent)
virtual ~IPACache ()
const Entrylookup (Addr ipa, uint16_t vmid, bool updStats=true)
void store (const Entry &incoming)
void invalidateIPA (Addr ipa, uint16_t vmid)
void invalidateIPAA (Addr ipa)
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 ()

Private Types

typedef std::vector< EntrySet

Private Member Functions

size_t pickSetIdx (Addr ipa, uint16_t vmid) 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 205 of file smmu_v3_caches.hh.

Member Typedef Documentation

◆ Set

Definition at line 236 of file smmu_v3_caches.hh.

Constructor & Destructor Documentation

◆ IPACache()

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

Definition at line 633 of file

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

◆ ~IPACache()

virtual gem5::IPACache::~IPACache ( )

Definition at line 225 of file smmu_v3_caches.hh.

Member Function Documentation

◆ invalidateAll()

void gem5::IPACache::invalidateAll ( )

Definition at line 759 of file

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

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

◆ invalidateIPA()

void gem5::IPACache::invalidateIPA ( Addr  ipa,
uint16_t  vmid 

◆ invalidateIPAA()

void gem5::IPACache::invalidateIPAA ( Addr  ipa)

◆ invalidateVMID()

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

◆ lookup()

const IPACache::Entry * gem5::IPACache::lookup ( Addr  ipa,
uint16_t  vmid,
bool  updStats = true 

◆ pickEntryIdxToReplace()

size_t gem5::IPACache::pickEntryIdxToReplace ( const Set set)

◆ pickSetIdx()

size_t gem5::IPACache::pickSetIdx ( Addr  ipa,
uint16_t  vmid 
) const

Definition at line 770 of file

References sets, and gem5::ArmISA::va.

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

◆ store()

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

Member Data Documentation

◆ associativity

size_t gem5::IPACache::associativity

Definition at line 239 of file smmu_v3_caches.hh.

Referenced by IPACache(), and pickEntryIdxToReplace().

◆ sets

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

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