| gem5
    v21.1.0.2
    | 
#include <smmu_v3_caches.hh>
 
  
| Classes | |
| struct | Entry | 
| Public Member Functions | |
| ConfigCache (unsigned numEntries, unsigned _associativity, const std::string &policy, statistics::Group *parent) | |
| virtual | ~ConfigCache () | 
| const Entry * | lookup (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< Entry > | Set | 
| Private Member Functions | |
| size_t | pickSetIdx (uint32_t sid, uint32_t ssid) const | 
| size_t | pickEntryIdxToReplace (const Set &set) | 
| Private Attributes | |
| std::vector< Set > | sets | 
| 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 | 
Definition at line 245 of file smmu_v3_caches.hh.
| 
 | private | 
Definition at line 283 of file smmu_v3_caches.hh.
| 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, and sets.
| 
 | inlinevirtual | 
Definition at line 273 of file smmu_v3_caches.hh.
| void gem5::ConfigCache::invalidateAll | ( | ) | 
Definition at line 923 of file smmu_v3_caches.cc.
References gem5::ArmISA::i, gem5::ArmISA::s, and sets.
Referenced by gem5::SMMUv3::processCommand().
| void gem5::ConfigCache::invalidateSID | ( | uint32_t | sid | ) | 
Definition at line 908 of file smmu_v3_caches.cc.
References gem5::ArmISA::e, gem5::ArmISA::i, gem5::ArmISA::s, and sets.
Referenced by gem5::SMMUv3::processCommand().
| void gem5::ConfigCache::invalidateSSID | ( | uint32_t | sid, | 
| uint32_t | ssid | ||
| ) | 
Definition at line 895 of file smmu_v3_caches.cc.
References gem5::ArmISA::e, gem5::ArmISA::i, pickSetIdx(), and sets.
Referenced by gem5::SMMUv3::processCommand().
| const ConfigCache::Entry * gem5::ConfigCache::lookup | ( | uint32_t | sid, | 
| uint32_t | ssid, | ||
| bool | updStats = true | ||
| ) | 
Definition at line 843 of file smmu_v3_caches.cc.
References gem5::SMMUv3BaseCache::baseCacheStats, gem5::ArmISA::e, gem5::ArmISA::i, gem5::ConfigCache::Entry::lastUsed, panic, pickSetIdx(), sets, gem5::SMMUv3BaseCache::SMMUv3BaseCacheStats::totalLookups, gem5::SMMUv3BaseCache::SMMUv3BaseCacheStats::totalMisses, and gem5::SMMUv3BaseCache::useStamp.
Referenced by gem5::SMMUTranslationProcess::configCacheLookup(), and store().
| 
 | private | 
Definition at line 940 of file smmu_v3_caches.cc.
References associativity, gem5::SMMUv3BaseCache::baseCacheStats, gem5::ArmISA::i, gem5::SMMUv3BaseCache::SMMUv3BaseCacheStats::insertions, gem5::SMMUv3BaseCache::nextToReplace, panic, gem5::SMMUv3BaseCache::random, gem5::Random::random(), gem5::SMMUv3BaseCache::replacementPolicy, gem5::SMMU_CACHE_REPL_LRU, gem5::SMMU_CACHE_REPL_RANDOM, and gem5::SMMU_CACHE_REPL_ROUND_ROBIN.
Referenced by store().
| 
 | private | 
Definition at line 934 of file smmu_v3_caches.cc.
References sets.
Referenced by invalidateSSID(), lookup(), and store().
| void gem5::ConfigCache::store | ( | const Entry & | incoming | ) | 
Definition at line 875 of file smmu_v3_caches.cc.
References gem5::SMMUv3BaseCache::baseCacheStats, gem5::ConfigCache::Entry::lastUsed, lookup(), panic, pickEntryIdxToReplace(), pickSetIdx(), sets, gem5::ConfigCache::Entry::sid, gem5::ConfigCache::Entry::ssid, gem5::SMMUv3BaseCache::SMMUv3BaseCacheStats::totalUpdates, and gem5::ConfigCache::Entry::valid.
Referenced by gem5::SMMUTranslationProcess::configCacheUpdate().
| 
 | private | 
Definition at line 286 of file smmu_v3_caches.hh.
Referenced by ConfigCache(), and pickEntryIdxToReplace().
| 
 | private | 
Definition at line 284 of file smmu_v3_caches.hh.
Referenced by ConfigCache(), invalidateAll(), invalidateSID(), invalidateSSID(), lookup(), pickSetIdx(), and store().