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:
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user