diff -r ac88299ab4cc -r f8f3c06af8b1 src/arch/x86/faults.cc --- a/src/arch/x86/faults.cc Tue Oct 27 20:21:31 2015 -0500 +++ b/src/arch/x86/faults.cc Mon Nov 02 17:39:50 2015 -0600 @@ -135,6 +135,9 @@ void PageFault::invoke(ThreadContext * tc, const StaticInstPtr &inst) { if (FullSystem) { + /* Invalidate any matching TLB entries before handling the page fault */ + tc->getITBPtr()->demapPage(addr, 0); + tc->getDTBPtr()->demapPage(addr, 0); HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG); X86FaultBase::invoke(tc); /* diff -r ac88299ab4cc -r f8f3c06af8b1 src/arch/x86/faults.hh --- a/src/arch/x86/faults.hh Tue Oct 27 20:21:31 2015 -0500 +++ b/src/arch/x86/faults.hh Mon Nov 02 17:39:50 2015 -0600 @@ -42,7 +42,7 @@ #include -#include "arch/generic/tlb.hh" +#include "arch/x86/tlb.hh" #include "base/bitunion.hh" #include "base/misc.hh" #include "sim/faults.hh"