|
gem5 v25.0.0.1
|
#include <tlb.hh>
Public Member Functions | |
| TlbEntry * | accessEntry (const KeyType &key) override |
| TlbEntry * | findEntry (const KeyType &key) const override |
| void | invalidatePrev (const TlbEntry *invalid=nullptr) |
| Invalidate the last matched entry The method has an optional param, which means: invalidate cached prev only if matches the entry argument. | |
| Public Member Functions inherited from gem5::AssociativeCache< TlbEntry > | |
| AssociativeCache (std::string_view name) | |
| Empty constructor - need to call init() later with all args. | |
| ~AssociativeCache ()=default | |
| Default destructor. | |
| AssociativeCache & | operator= (const AssociativeCache &)=delete |
| void | clear () |
| Clear the entries in the cache. | |
| void | init (const size_t num_entries, const size_t associativity_, BaseReplacementPolicy *_repl_policy, IndexingPolicy *_indexing_policy, TlbEntry const &init_val=TlbEntry()) |
| void | setDebugFlag (const ::gem5::debug::SimpleFlag &flag) |
| virtual TlbEntry * | accessEntry (const KeyType &key) |
| Do an access to the entry if it exists. | |
| virtual TlbEntry * | findEntry (const KeyType &key) const |
| Find an entry within the set. | |
| virtual TlbEntry * | findVictim (const KeyType &key) |
| Find a victim to be replaced. | |
| virtual void | invalidate (TlbEntry *entry) |
| Invalidate an entry and its respective replacement data. | |
| virtual void | insertEntry (const KeyType &key, TlbEntry *entry) |
| Indicate that an entry has just been inserted. | |
| std::vector< TlbEntry * > | getPossibleEntries (const KeyType &key) const |
| Find the set of entries that could be replaced given that we want to add a new entry with the provided key. | |
| iterator | begin () |
| Returns an iterator to the first entry of the dictionary. | |
| iterator | end () |
| Returns an iterator pointing to the end of the the dictionary (placeholder element, should not be accessed) | |
| Public Member Functions inherited from gem5::Named | |
| Named (std::string_view name_) | |
| virtual | ~Named ()=default |
| virtual std::string | name () const |
Private Attributes | |
| TlbEntry * | prev = nullptr |
| Last matched entry. | |
Additional Inherited Members | |
| Public Types inherited from gem5::AssociativeCache< TlbEntry > | |
| using | const_iterator |
| Iterator types. | |
| using | iterator |
| Protected Types inherited from gem5::AssociativeCache< TlbEntry > | |
| typedef replacement_policy::Base | BaseReplacementPolicy |
| typedef TlbEntry::IndexingPolicy | IndexingPolicy |
| typedef TlbEntry::KeyType | KeyType |
| Protected Attributes inherited from gem5::AssociativeCache< TlbEntry > | |
| size_t | associativity |
| Associativity of the cache. | |
| BaseReplacementPolicy * | replPolicy |
| The replacement policy of the cache. | |
| IndexingPolicy * | indexingPolicy |
| Indexing policy of the cache. | |
| std::vector< TlbEntry > | entries |
| The entries. | |
| const ::gem5::debug::SimpleFlag * | debugFlag |
Definition at line 62 of file tlb.cc.
References accessEntry(), and findEntry().
Referenced by accessEntry().
Definition at line 74 of file tlb.cc.
References gem5::AssociativeCache< TlbEntry >::indexingPolicy, and prev.
Referenced by accessEntry().
| void gem5::TLB::Table::invalidatePrev | ( | const TlbEntry * | invalid = nullptr | ) |
Invalidate the last matched entry The method has an optional param, which means: invalidate cached prev only if matches the entry argument.
This is to be used for example on TLB entry invalidations
| invalid | flush prev if param is nullptr, otherwise only if prev == invalid |
Definition at line 95 of file tlb.cc.
References prev.
|
mutableprivate |
Last matched entry.
Definition at line 127 of file tlb.hh.
Referenced by findEntry(), and invalidatePrev().