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
This commit is contained in:
Gabe Black
2006-02-27 23:26:13 -05:00
parent 36b2d9815e
commit 6165419d35
8 changed files with 40 additions and 6 deletions

View File

@@ -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;}