diff options
Diffstat (limited to 'src/arch/mips/faults.hh')
-rw-r--r-- | src/arch/mips/faults.hh | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/arch/mips/faults.hh b/src/arch/mips/faults.hh index f04f757f0..c7ed8e9bf 100644 --- a/src/arch/mips/faults.hh +++ b/src/arch/mips/faults.hh @@ -93,8 +93,12 @@ class NonMaskableInterrupt : public MipsFault<NonMaskableInterrupt> class AddressErrorFault : public MipsFault<AddressErrorFault> { + protected: + Addr vaddr; + bool store; public: - AddressErrorFault(Addr vaddr) { badVAddr = vaddr; } + AddressErrorFault(Addr _vaddr, bool _store) : vaddr(_vaddr), store(_store) + {} #if FULL_SYSTEM void invoke(ThreadContext * tc, StaticInstPtr inst = StaticInst::nullStaticInstPtr); @@ -102,16 +106,6 @@ class AddressErrorFault : public MipsFault<AddressErrorFault> }; -class StoreAddressErrorFault : public MipsFault<StoreAddressErrorFault> -{ - public: - StoreAddressErrorFault(Addr vaddr) { badVAddr = vaddr; } -#if FULL_SYSTEM - void invoke(ThreadContext * tc, - StaticInstPtr inst = StaticInst::nullStaticInstPtr); -#endif -}; - static inline Fault genMachineCheckFault() { return new MachineCheckFault; |