summaryrefslogtreecommitdiff
path: root/arch/alpha/tlb.hh
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-03-28 18:01:01 -0500
committerKevin Lim <ktlim@umich.edu>2006-03-28 18:01:01 -0500
commitc1046488e073b2535c76c473aec34fe499c149e3 (patch)
treef9952cc18768d944ffa861575f24f5269bdf69c5 /arch/alpha/tlb.hh
parent1507bfb20a4053abb9f8eb1a97bafc800a9c934f (diff)
downloadgem5-c1046488e073b2535c76c473aec34fe499c149e3.tar.xz
Move TLB faults into the normal Fault code. The TLB no longer fills in IPRs through its own fault() method; this is handled by the fault's invoke() methods.
arch/alpha/faults.cc: Move TLB fault code into the normal fault invoke() method. arch/alpha/faults.hh: Move DTB/ITB fault handling code into their own class with a specific invoke() method. Have DTB/ITB faults derive from these classes. Unfortunately the DtbAlignmentFault is somewhat odd; it's a normal alignment fault, but it must also set some specific IPRs. arch/alpha/tlb.cc: arch/alpha/tlb.hh: Setting IPRs is now handled through the fault itself. --HG-- extra : convert_revision : 5cb92ce2186ff79f632bfcbc9ba62a8a04400eae
Diffstat (limited to 'arch/alpha/tlb.hh')
-rw-r--r--arch/alpha/tlb.hh6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/alpha/tlb.hh b/arch/alpha/tlb.hh
index 1c299e8b9..676345f01 100644
--- a/arch/alpha/tlb.hh
+++ b/arch/alpha/tlb.hh
@@ -88,9 +88,6 @@ class AlphaITB : public AlphaTLB
mutable Stats::Scalar<> acv;
mutable Stats::Formula accesses;
- protected:
- void fault(Addr pc, ExecContext *xc) const;
-
public:
AlphaITB(const std::string &name, int size);
virtual void regStats();
@@ -114,9 +111,6 @@ class AlphaDTB : public AlphaTLB
Stats::Formula acv;
Stats::Formula accesses;
- protected:
- void fault(MemReqPtr &req, uint64_t flags) const;
-
public:
AlphaDTB(const std::string &name, int size);
virtual void regStats();