arch, arch-arm: Make BaseMMU translate methods virtual

As we are shifting towards making the MMU the main translating
agent, we need to make those methods virtual to let all ISAs
move their TLB::translate* methods to the MMU class

JIRA: https://gem5.atlassian.net/browse/GEM5-790

Change-Id: I50c84784546e8148230d79efe4bf010d0e36d6ab
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48140
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2021-07-15 11:30:18 +01:00
parent c0a3c70304
commit 4ae8db4aa4
2 changed files with 14 additions and 8 deletions

View File

@@ -90,6 +90,7 @@ class MMU : public BaseMMU
void init() override;
using BaseMMU::translateFunctional;
bool translateFunctional(ThreadContext *tc, Addr vaddr, Addr &paddr);
Fault translateFunctional(const RequestPtr &req, ThreadContext *tc,
@@ -103,6 +104,7 @@ class MMU : public BaseMMU
Fault translateAtomic(const RequestPtr &req, ThreadContext *tc,
BaseMMU::Mode mode, bool stage2);
using BaseMMU::translateTiming;
void translateTiming(const RequestPtr &req, ThreadContext *tc,
BaseMMU::Translation *translation, BaseMMU::Mode mode, bool stage2);

View File

@@ -102,17 +102,21 @@ class BaseMMU : public SimObject
void demapPage(Addr vaddr, uint64_t asn);
Fault translateAtomic(const RequestPtr &req, ThreadContext *tc,
Mode mode);
virtual Fault
translateAtomic(const RequestPtr &req, ThreadContext *tc,
Mode mode);
void translateTiming(const RequestPtr &req, ThreadContext *tc,
Translation *translation, Mode mode);
virtual void
translateTiming(const RequestPtr &req, ThreadContext *tc,
Translation *translation, Mode mode);
Fault translateFunctional(const RequestPtr &req, ThreadContext *tc,
Mode mode);
virtual Fault
translateFunctional(const RequestPtr &req, ThreadContext *tc,
Mode mode);
Fault finalizePhysical(const RequestPtr &req, ThreadContext *tc,
Mode mode) const;
virtual Fault
finalizePhysical(const RequestPtr &req, ThreadContext *tc,
Mode mode) const;
virtual void takeOverFrom(BaseMMU *old_mmu);