summaryrefslogtreecommitdiff
path: root/sim/faults.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-02-27 23:26:13 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-02-27 23:26:13 -0500
commit6165419d356fb0cdbcb70d22dcd2f32e689eb7db (patch)
tree61dc14eca57e4be6dbfd53d68ae5e2e1ad2343ec /sim/faults.hh
parent36b2d9815e32781aba1f51acb0b89cdd4f3e2da9 (diff)
downloadgem5-6165419d356fb0cdbcb70d22dcd2f32e689eb7db.tar.xz
Changed ev5_trap from a function of the execution context to a function of the fault. The actual function still resides in the execution context.
--HG-- extra : convert_revision : 56e33536cdd9079ace03896b85ea3c84b6eb4e57
Diffstat (limited to 'sim/faults.hh')
-rw-r--r--sim/faults.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/sim/faults.hh b/sim/faults.hh
index d0bf78815..69e592485 100644
--- a/sim/faults.hh
+++ b/sim/faults.hh
@@ -31,7 +31,9 @@
#include "base/refcnt.hh"
#include "sim/stats.hh"
+#include "config/full_system.hh"
+class ExecContext;
class FaultBase;
typedef RefCountingPtr<FaultBase> Fault;
@@ -53,6 +55,9 @@ class FaultBase : public RefCounted
return "none";
}
virtual FaultStat & stat() = 0;
+#if FULL_SYSTEM
+ virtual void ev5_trap(ExecContext * xc) = 0;
+#endif
template<typename T>
bool isA() {return dynamic_cast<T *>(this);}
virtual bool isMachineCheckFault() {return false;}