diff options
Diffstat (limited to 'sim/faults.hh')
-rw-r--r-- | sim/faults.hh | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/sim/faults.hh b/sim/faults.hh index 9b8c94cda..9e8d224cd 100644 --- a/sim/faults.hh +++ b/sim/faults.hh @@ -53,39 +53,16 @@ class FaultBase : public RefCounted virtual FaultName name() = 0; virtual FaultStat & stat() = 0; #if FULL_SYSTEM - virtual void ev5_trap(ExecContext * xc) = 0; + virtual void invoke(ExecContext * xc) = 0; +#else + virtual void invoke(ExecContext * xc); #endif - template<typename T> - bool isA() {return dynamic_cast<T *>(this);} +// template<typename T> +// bool isA() {return dynamic_cast<T *>(this);} virtual bool isMachineCheckFault() {return false;} virtual bool isAlignmentFault() {return false;} }; FaultBase * const NoFault = 0; -//The ISAs are each responsible for providing a genMachineCheckFault and a -//genAlignmentFault functions, which return faults to use in the case of a -//machine check fault or an alignment fault, respectively. Base classes which -//provide the name() function, and the isMachineCheckFault and isAlignmentFault -//functions are provided below. - -class MachineCheckFault : public virtual FaultBase -{ - private: - static FaultName _name; - public: - FaultName name() {return _name;} - bool isMachineCheckFault() {return true;} -}; - -class AlignmentFault : public virtual FaultBase -{ - private: - static FaultName _name; - public: - FaultName name() {return _name;} - bool isAlignmentFault() {return true;} -}; - - #endif // __FAULTS_HH__ |