summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-01-05 16:17:44 -0800
committerGabe Black <gabeblack@google.com>2018-01-09 03:01:41 +0000
commit7221a00fdfe6a3f380f573d8bee1063d374b6bdf (patch)
tree3d509106f7aff225755b6de3fc6986114d61b14d
parent9fef867fc92ed4a8ee39c0f9aa1092d97e5b3247 (diff)
downloadgem5-7221a00fdfe6a3f380f573d8bee1063d374b6bdf.tar.xz
arm: Make translateFunctional override the base implementation.
Now that translateFunctional is a virtual function, having an extra parameter with a default value makes the compiler fall through to the base implementation instead of overriding it. This change removes the default value for the extra parameter, and adds a small wrapper with the correct signature which overrides the base implementation and calls the full version with the previously default value for the extra parameter. To callers this will look like the same thing, but the the right function will get called. This was what was already being done for transateAtomic and translateTiming. Change-Id: I0b71adf34fd6f326005edbb8eaac93275b437c55 Reviewed-on: https://gem5-review.googlesource.com/7121 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/arch/arm/tlb.hh7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/arch/arm/tlb.hh b/src/arch/arm/tlb.hh
index 7521e718c..212a79f79 100644
--- a/src/arch/arm/tlb.hh
+++ b/src/arch/arm/tlb.hh
@@ -311,7 +311,12 @@ class TLB : public BaseTLB
* behaves like a normal lookup without modifying any page table state.
*/
Fault translateFunctional(RequestPtr req, ThreadContext *tc, Mode mode,
- ArmTranslationType tranType = NormalTran);
+ ArmTranslationType tranType);
+ Fault
+ translateFunctional(RequestPtr req, ThreadContext *tc, Mode mode) override
+ {
+ return translateFunctional(req, tc, mode, NormalTran);
+ }
/** Accessor functions for memory attributes for last accessed TLB entry
*/