summaryrefslogtreecommitdiff
path: root/src/arch/mips/faults.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/mips/faults.hh')
-rw-r--r--src/arch/mips/faults.hh16
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;