From 8b4796a367ec21d294f7318343e5bb9d7e07a53e Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 26 Feb 2008 23:38:51 -0500 Subject: TLB: Make a TLB base class and put a virtual demapPage function in it. --HG-- extra : convert_revision : cc0e62a5a337fd5bf332ad33bed61c0d505a936f --- src/sim/tlb.cc | 6 ++++++ src/sim/tlb.hh | 16 ++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) (limited to 'src/sim') diff --git a/src/sim/tlb.cc b/src/sim/tlb.cc index de6779839..7292a69e0 100644 --- a/src/sim/tlb.cc +++ b/src/sim/tlb.cc @@ -48,3 +48,9 @@ GenericTLB::translate(RequestPtr req, ThreadContext * tc, bool) return NoFault; #endif } + +void +GenericTLB::demapPage(Addr vaddr, uint64_t asn) +{ + warn("Demapping pages in the generic TLB is unnecessary.\n"); +} diff --git a/src/sim/tlb.hh b/src/sim/tlb.hh index b5e341185..011cc1144 100644 --- a/src/sim/tlb.hh +++ b/src/sim/tlb.hh @@ -39,13 +39,25 @@ class ThreadContext; class Packet; -class GenericTLB : public SimObject +class BaseTLB : public SimObject { protected: - GenericTLB(const Params *p) : SimObject(p) + BaseTLB(const Params *p) : SimObject(p) {} public: + virtual void demapPage(Addr vaddr, uint64_t asn) = 0; +}; + +class GenericTLB : public BaseTLB +{ + protected: + GenericTLB(const Params *p) : BaseTLB(p) + {} + + public: + void demapPage(Addr vaddr, uint64_t asn); + Fault translate(RequestPtr req, ThreadContext *tc, bool=false); }; -- cgit v1.2.3