diff -r aae3b750ad4f -r cef3413ee9ca src/arch/sparc/tlb.hh --- a/src/arch/sparc/tlb.hh Fri Nov 02 13:13:49 2012 -0400 +++ b/src/arch/sparc/tlb.hh Fri Nov 02 13:14:31 2012 -0400 @@ -123,7 +123,7 @@ uint64_t TagRead(int entry); /** Remove all entries from the TLB */ - void invalidateAll(); + void flushAll(); /** Remove all non-locked entries from the tlb that match partition id. */ void demapAll(int partition_id); diff -r aae3b750ad4f -r cef3413ee9ca src/arch/sparc/tlb.cc --- a/src/arch/sparc/tlb.cc Fri Nov 02 13:13:49 2012 -0400 +++ b/src/arch/sparc/tlb.cc Fri Nov 02 13:14:31 2012 -0400 @@ -323,7 +323,7 @@ } void -TLB::invalidateAll() +TLB::flushAll() { cacheValid = false; lookupTable.clear(); diff -r aae3b750ad4f -r cef3413ee9ca src/arch/x86/isa.cc --- a/src/arch/x86/isa.cc Fri Nov 02 13:13:49 2012 -0400 +++ b/src/arch/x86/isa.cc Fri Nov 02 13:14:31 2012 -0400 @@ -180,8 +180,8 @@ } } if (toggled.pg) { - tc->getITBPtr()->invalidateAll(); - tc->getDTBPtr()->invalidateAll(); + tc->getITBPtr()->flushAll(); + tc->getDTBPtr()->flushAll(); } //This must always be 1. newCR0.et = 1; @@ -196,15 +196,15 @@ case MISCREG_CR2: break; case MISCREG_CR3: - tc->getITBPtr()->invalidateNonGlobal(); - tc->getDTBPtr()->invalidateNonGlobal(); + tc->getITBPtr()->flushNonGlobal(); + tc->getDTBPtr()->flushNonGlobal(); break; case MISCREG_CR4: { CR4 toggled = regVal[miscReg] ^ val; if (toggled.pae || toggled.pse || toggled.pge) { - tc->getITBPtr()->invalidateAll(); - tc->getDTBPtr()->invalidateAll(); + tc->getITBPtr()->flushAll(); + tc->getDTBPtr()->flushAll(); } } break; diff -r aae3b750ad4f -r cef3413ee9ca src/arch/x86/tlb.hh --- a/src/arch/x86/tlb.hh Fri Nov 02 13:13:49 2012 -0400 +++ b/src/arch/x86/tlb.hh Fri Nov 02 13:14:31 2012 -0400 @@ -75,8 +75,6 @@ typedef X86TLBParams Params; TLB(const Params *p); - void dumpAll(); - TlbEntry *lookup(Addr va, bool update_lru = true); void setConfigAddress(uint32_t addr); @@ -90,9 +88,9 @@ public: Walker *getWalker(); - void invalidateAll(); + void flushAll(); - void invalidateNonGlobal(); + void flushNonGlobal(); void demapPage(Addr va, uint64_t asn); diff -r aae3b750ad4f -r cef3413ee9ca src/arch/x86/tlb.cc --- a/src/arch/x86/tlb.cc Fri Nov 02 13:13:49 2012 -0400 +++ b/src/arch/x86/tlb.cc Fri Nov 02 13:14:31 2012 -0400 @@ -129,7 +129,7 @@ } void -TLB::invalidateAll() +TLB::flushAll() { DPRINTF(TLB, "Invalidating all entries.\n"); for (unsigned i = 0; i < size; i++) { @@ -148,7 +148,7 @@ } void -TLB::invalidateNonGlobal() +TLB::flushNonGlobal() { DPRINTF(TLB, "Invalidating all non global entries.\n"); for (unsigned i = 0; i < size; i++) { diff -r aae3b750ad4f -r cef3413ee9ca src/arch/x86/utility.cc --- a/src/arch/x86/utility.cc Fri Nov 02 13:13:49 2012 -0400 +++ b/src/arch/x86/utility.cc Fri Nov 02 13:14:31 2012 -0400 @@ -213,8 +213,8 @@ dest->setMiscRegNoEffect(i, src->readMiscRegNoEffect(i)); } - dest->getITBPtr()->invalidateAll(); - dest->getDTBPtr()->invalidateAll(); + dest->getITBPtr()->flushAll(); + dest->getDTBPtr()->flushAll(); } void diff -r aae3b750ad4f -r cef3413ee9ca src/sim/tlb.hh --- a/src/sim/tlb.hh Fri Nov 02 13:13:49 2012 -0400 +++ b/src/sim/tlb.hh Fri Nov 02 13:14:31 2012 -0400 @@ -65,6 +65,11 @@ virtual void demapPage(Addr vaddr, uint64_t asn) = 0; /** + * Remove all entries from the TLB + */ + virtual void flushAll() = 0; + + /** * Get the table walker master port if present. This is used for * migrating port connections during a CPU takeOverFrom() * call. For architectures that do not have a table walker, NULL @@ -75,6 +80,8 @@ */ virtual BaseMasterPort* getMasterPort() { return NULL; } + void memInvalidate() { flushAll(); } + class Translation { public: