X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Farch%2Farm%2Ftlb.cc;h=78eebddfe09ed7a8f9b2ffbc8c24cdc66a20c6c6;hb=d080581db1f9ee4e1e6d07d2b01c13c67908a391;hp=d0cc57a1da328fafb2d3004ee7fe05c2680f53ff;hpb=7a7c4c5fca83a8d47c7e71c9c080a882ebe204a9;p=gem5.git diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc index d0cc57a1d..78eebddfe 100644 --- a/src/arch/arm/tlb.cc +++ b/src/arch/arm/tlb.cc @@ -29,6 +29,7 @@ * * Authors: Nathan Binkert * Steve Reinhardt + * Jaidev Patwardhan * Stephen Hines */ @@ -149,7 +150,7 @@ TLB::checkCacheability(RequestPtr &req) // or by the TLB entry if((req->getVaddr() & VAddrUncacheable) == VAddrUncacheable) { // mark request as uncacheable - req->setFlags(req->getFlags() | UNCACHEABLE); + req->setFlags(req->getFlags() | Request::UNCACHEABLE); } return NoFault; } @@ -278,7 +279,7 @@ TLB::regStats() } Fault -ITB::translate(RequestPtr &req, ThreadContext *tc) +ITB::translateAtomic(RequestPtr req, ThreadContext *tc) { #if !FULL_SYSTEM Process * p = tc->getProcessPtr(); @@ -293,8 +294,17 @@ ITB::translate(RequestPtr &req, ThreadContext *tc) #endif } +void +ITB::translateTiming(RequestPtr req, ThreadContext *tc, + Translation *translation) +{ + assert(translation); + translation->finish(translateAtomic(req, tc), req, tc, false); +} + + Fault -DTB::translate(RequestPtr &req, ThreadContext *tc, bool write) +DTB::translateAtomic(RequestPtr req, ThreadContext *tc, bool write) { #if !FULL_SYSTEM Process * p = tc->getProcessPtr(); @@ -309,6 +319,14 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write) #endif } +void +DTB::translateTiming(RequestPtr req, ThreadContext *tc, + Translation *translation, bool write) +{ + assert(translation); + translation->finish(translateAtomic(req, tc, write), req, tc, write); +} + /////////////////////////////////////////////////////////////////////// // // Arm ITB