X86 TLB: Move a DPRINTF to its correct place
authorNilay Vaish <nilay@cs.wisc.edu>
Thu, 5 Jan 2012 17:00:32 +0000 (11:00 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Thu, 5 Jan 2012 17:00:32 +0000 (11:00 -0600)
The DPRINTF for doing protection checks appears after the checks have been
carried out. It is possible that the function returns while the checks are
being carried, in which case the printf is missed out. This patch moves the
DPRINTF before the checks.

--HG--
extra : rebase_source : 172896057e593022444d882ea93323a5d9f77a89

src/arch/x86/tlb.cc

index 40c30637d4d8c9f02fbf048475913325b2a2cf3c..131909e50f3c049c8427aa219e8e8925fdf16b64 100644 (file)
@@ -328,6 +328,9 @@ TLB::translate(RequestPtr req, ThreadContext *tc, Translation *translation,
                 DPRINTF(TLB, "Miss was serviced.\n");
 #endif
             }
+
+            DPRINTF(TLB, "Entry found with paddr %#x, "
+                    "doing protection checks.\n", entry->paddr);
             // Do paging protection checks.
             bool inUser = (m5Reg.cpl == 3 &&
                     !(flags & (CPL0FlagBit << FlagShift)));
@@ -345,9 +348,6 @@ TLB::translate(RequestPtr req, ThreadContext *tc, Translation *translation,
                 return new PageFault(vaddr, true, Write, inUser, false);
             }
 
-
-            DPRINTF(TLB, "Entry found with paddr %#x, "
-                    "doing protection checks.\n", entry->paddr);
             Addr paddr = entry->paddr | (vaddr & (entry->size-1));
             DPRINTF(TLB, "Translated %#x -> %#x.\n", vaddr, paddr);
             req->setPaddr(paddr);