summaryrefslogtreecommitdiff
path: root/src/arch/x86/tlb.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/tlb.cc')
-rw-r--r--src/arch/x86/tlb.cc5
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>