gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::ARMArchTLB Class Reference

#include <smmu_v3_caches.hh>

Inheritance diagram for gem5::ARMArchTLB:
gem5::SMMUv3BaseCache

Classes

struct  Entry
 

Public Member Functions

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

Private Types

typedef std::vector< EntrySet
 

Private Member Functions

size_t pickSetIdx (Addr va, uint16_t asid, 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 161 of file smmu_v3_caches.hh.

Member Typedef Documentation

◆ Set

Definition at line 196 of file smmu_v3_caches.hh.

Constructor & Destructor Documentation

◆ ARMArchTLB()

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

◆ ~ARMArchTLB()

virtual gem5::ARMArchTLB::~ARMArchTLB ( )
inlinevirtual

Definition at line 182 of file smmu_v3_caches.hh.

Member Function Documentation

◆ invalidateAll()

void gem5::ARMArchTLB::invalidateAll ( )

Definition at line 579 of file smmu_v3_caches.cc.

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

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

◆ invalidateASID()

void gem5::ARMArchTLB::invalidateASID ( uint16_t asid,
uint16_t vmid )

◆ invalidateVA()

void gem5::ARMArchTLB::invalidateVA ( Addr va,
uint16_t asid,
uint16_t vmid )

◆ invalidateVAA()

void gem5::ARMArchTLB::invalidateVAA ( Addr va,
uint16_t vmid )

◆ invalidateVMID()

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

◆ lookup()

◆ pickEntryIdxToReplace()

◆ pickSetIdx()

size_t gem5::ARMArchTLB::pickSetIdx ( Addr va,
uint16_t asid,
uint16_t vmid ) const
private

Definition at line 590 of file smmu_v3_caches.cc.

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

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

◆ store()

Member Data Documentation

◆ associativity

size_t gem5::ARMArchTLB::associativity
private

Definition at line 199 of file smmu_v3_caches.hh.

Referenced by ARMArchTLB(), and pickEntryIdxToReplace().

◆ sets

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

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

Generated on Tue Jun 18 2024 16:24:09 for gem5 by doxygen 1.11.0