kvm, x86: Adding support for SE mode execution
[gem5.git] / src / sim / tlb.cc
index e82e4f277fd78e96728152c626469006fdfdf4c8..00a51dbe321d7a779ef4ebe268aa3be062dad6bf 100644 (file)
 
 #include "cpu/thread_context.hh"
 #include "mem/page_table.hh"
+#include "sim/faults.hh"
+#include "sim/full_system.hh"
 #include "sim/process.hh"
 #include "sim/tlb.hh"
 
 Fault
-GenericTLB::translateAtomic(RequestPtr req, ThreadContext * tc, bool)
+GenericTLB::translateAtomic(RequestPtr req, ThreadContext *tc, Mode)
 {
-#if FULL_SYSTEM
+    if (FullSystem)
         panic("Generic translation shouldn't be used in full system mode.\n");
-#else
-        Process * p = tc->getProcessPtr();
 
-        Fault fault = p->pTable->translate(req);
-        if(fault != NoFault)
-            return fault;
+    Process * p = tc->getProcessPtr();
 
-        return NoFault;
-#endif
+    Fault fault = p->pTable->translate(req);
+    if(fault != NoFault)
+        return fault;
+
+    return NoFault;
 }
 
 void
 GenericTLB::translateTiming(RequestPtr req, ThreadContext *tc,
-        Translation *translation, bool write)
+        Translation *translation, Mode mode)
 {
     assert(translation);
-    translation->finish(translateAtomic(req, tc, write), req, tc, write);
+    translation->finish(translateAtomic(req, tc, mode), req, tc, mode);
+}
+
+Fault
+GenericTLB::finalizePhysical(RequestPtr req, ThreadContext *tc, Mode mode) const
+{
+    return NoFault;
 }
 
 void