ruby: set: corrects csprintf() call introduced by 7d95b650c9b6
[gem5.git] / src / sim / tlb.cc
index f7b57cbbc9309d7fa2e32a1810523721222c3fa2..86428f1687b8a7e6ada0df02e3221b2c774a79b4 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, Mode mode)
+{
+    assert(translation);
+    translation->finish(translateAtomic(req, tc, mode), req, tc, mode);
 }
 
 void