diff options
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/tlb.cc | 7 | ||||
-rw-r--r-- | src/sim/tlb.hh | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/sim/tlb.cc b/src/sim/tlb.cc index e82e4f277..60ad8c155 100644 --- a/src/sim/tlb.cc +++ b/src/sim/tlb.cc @@ -34,7 +34,7 @@ #include "sim/tlb.hh" Fault -GenericTLB::translateAtomic(RequestPtr req, ThreadContext * tc, bool) +GenericTLB::translateAtomic(RequestPtr req, ThreadContext * tc, bool, bool) { #if FULL_SYSTEM panic("Generic translation shouldn't be used in full system mode.\n"); @@ -51,10 +51,11 @@ GenericTLB::translateAtomic(RequestPtr req, ThreadContext * tc, bool) void GenericTLB::translateTiming(RequestPtr req, ThreadContext *tc, - Translation *translation, bool write) + Translation *translation, bool write, bool execute) { assert(translation); - translation->finish(translateAtomic(req, tc, write), req, tc, write); + translation->finish(translateAtomic(req, tc, write, execute), + req, tc, write, execute); } void diff --git a/src/sim/tlb.hh b/src/sim/tlb.hh index 8893f8c97..6c1bf5350 100644 --- a/src/sim/tlb.hh +++ b/src/sim/tlb.hh @@ -60,7 +60,7 @@ class BaseTLB : public SimObject * function. Once it's called, the object is no longer valid. */ virtual void finish(Fault fault, RequestPtr req, - ThreadContext *tc, bool write=false) = 0; + ThreadContext *tc, bool write=false, bool execute=false) = 0; }; }; @@ -73,9 +73,10 @@ class GenericTLB : public BaseTLB public: void demapPage(Addr vaddr, uint64_t asn); - Fault translateAtomic(RequestPtr req, ThreadContext *tc, bool=false); + Fault translateAtomic(RequestPtr req, ThreadContext *tc, + bool=false, bool=false); void translateTiming(RequestPtr req, ThreadContext *tc, - Translation *translation, bool=false); + Translation *translation, bool=false, bool=false); }; #endif // __ARCH_SPARC_TLB_HH__ |