diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2008-02-26 23:39:22 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2008-02-26 23:39:22 -0500 |
commit | 98d2ca403e859f289e6d637a2179e62728370d5f (patch) | |
tree | 58568c14f16d6cdfff6dbdd728c637314f895e9b /src/arch/x86/tlb.cc | |
parent | 8b4796a367ec21d294f7318343e5bb9d7e07a53e (diff) | |
download | gem5-98d2ca403e859f289e6d637a2179e62728370d5f.tar.xz |
X86: Implement the INVLPG instruction and the TIA microop.
--HG--
extra : convert_revision : 31db1ee082f6c3ca5443cba1eb335e408661ead2
Diffstat (limited to 'src/arch/x86/tlb.cc')
-rw-r--r-- | src/arch/x86/tlb.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/arch/x86/tlb.cc b/src/arch/x86/tlb.cc index 208dec177..ae8fcf9be 100644 --- a/src/arch/x86/tlb.cc +++ b/src/arch/x86/tlb.cc @@ -171,6 +171,11 @@ TLB::invalidateNonGlobal() void TLB::demapPage(Addr va, uint64_t asn) { + EntryList::iterator entry = lookupIt(va, false); + if (entry != entryList.end()) { + freeList.push_back(*entry); + entryList.erase(entry); + } } template<class TlbFault> |