diff options
author | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2020-02-03 10:17:34 +0000 |
---|---|---|
committer | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2020-02-04 09:42:13 +0000 |
commit | 6cff0dd218941eabf2b9cf3a7ce6d641ea7884cb (patch) | |
tree | 5d00f8f0ac6f777acf22561fdd86e0f929b67d38 /src/arch/arm/tlb.hh | |
parent | 4ae8d1c0ed18f351b52f421553b28fe109f87665 (diff) | |
download | gem5-6cff0dd218941eabf2b9cf3a7ce6d641ea7884cb.tar.xz |
arch-arm: Split translateFs to distinguish when MMU is on/off
This patch is splitting the big translateFs method so that it is
using different methods when the MMU is on/off
Change-Id: I198851bdbedf8a8e69730693ff87ffb9ed535ea3
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24985
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch/arm/tlb.hh')
-rw-r--r-- | src/arch/arm/tlb.hh | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/arch/arm/tlb.hh b/src/arch/arm/tlb.hh index 6314ef2d6..a344cd490 100644 --- a/src/arch/arm/tlb.hh +++ b/src/arch/arm/tlb.hh @@ -44,6 +44,7 @@ #define __ARCH_ARM_TLB_HH__ +#include "arch/arm/faults.hh" #include "arch/arm/isa_traits.hh" #include "arch/arm/pagetable.hh" #include "arch/arm/utility.hh" @@ -351,6 +352,12 @@ class TLB : public BaseTLB return _attr; } + Fault translateMmuOff(ThreadContext *tc, const RequestPtr &req, Mode mode, + TLB::ArmTranslationType tranType, Addr vaddr, bool long_desc_format); + Fault translateMmuOn(ThreadContext *tc, const RequestPtr &req, Mode mode, + Translation *translation, bool &delay, bool timing, bool functional, + Addr vaddr, ArmFault::TranMethod tranMethod); + Fault translateFs(const RequestPtr &req, ThreadContext *tc, Mode mode, Translation *translation, bool &delay, bool timing, ArmTranslationType tranType, bool functional = false); |