summaryrefslogtreecommitdiff
path: root/src/arch/mips/faults.cc
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2011-09-19 06:17:19 -0700
committerGabe Black <gblack@eecs.umich.edu>2011-09-19 06:17:19 -0700
commit110c59b414e1e93004f56cefcb92ea945c3f3713 (patch)
treee23d52dd53bc58d0235f6eca7801b545364464ce /src/arch/mips/faults.cc
parent7e704c9f51a5ed60e46299f7b1dcef6d668b3ff6 (diff)
downloadgem5-110c59b414e1e93004f56cefcb92ea945c3f3713.tar.xz
MIPS: Get rid of cruft in the fault classes.
Get rid of Fault classes left over from when this file was copied from Alpha, and rename ArithmeticOverflowFault to be IntegerOverflowFault and get rid of the old IntegerOverflowFault stub. The Integer version is what's actually in the manual, but the Arithmetic version had the implementation.
Diffstat (limited to 'src/arch/mips/faults.cc')
-rw-r--r--src/arch/mips/faults.cc39
1 files changed, 3 insertions, 36 deletions
diff --git a/src/arch/mips/faults.cc b/src/arch/mips/faults.cc
index 87a69669e..464c2fe9e 100644
--- a/src/arch/mips/faults.cc
+++ b/src/arch/mips/faults.cc
@@ -51,9 +51,6 @@ typedef MipsFaultBase::FaultVals FaultVals;
template <> FaultVals MipsFault<MachineCheckFault>::vals =
{ "Machine Check", 0x0401 };
-template <> FaultVals MipsFault<AlignmentFault>::vals =
- { "Alignment", 0x0301 };
-
template <> FaultVals MipsFault<ResetFault>::vals =
#if FULL_SYSTEM
{ "Reset Fault", 0xBFC00000};
@@ -79,11 +76,8 @@ template <> FaultVals MipsFault<ReservedInstructionFault>::vals =
template <> FaultVals MipsFault<ThreadFault>::vals =
{ "Thread Fault", 0x00F1 };
-template <> FaultVals MipsFault<ArithmeticFault>::vals =
- { "Arithmetic Overflow Exception", 0x180 };
-
-template <> FaultVals MipsFault<UnimplementedOpcodeFault>::vals =
- { "opdec", 0x0481 };
+template <> FaultVals MipsFault<IntegerOverflowFault>::vals =
+ { "Integer Overflow Exception", 0x180 };
template <> FaultVals MipsFault<InterruptFault>::vals =
{ "interrupt", 0x0180 };
@@ -97,30 +91,9 @@ template <> FaultVals MipsFault<BreakpointFault>::vals =
template <> FaultVals MipsFault<ItbInvalidFault>::vals =
{ "Invalid TLB Entry Exception (I-Fetch/LW)", 0x0180 };
-template <> FaultVals MipsFault<ItbPageFault>::vals =
- { "itbmiss", 0x0181 };
-
-template <> FaultVals MipsFault<ItbMissFault>::vals =
- { "itbmiss", 0x0181 };
-
-template <> FaultVals MipsFault<ItbAcvFault>::vals =
- { "iaccvio", 0x0081 };
-
template <> FaultVals MipsFault<ItbRefillFault>::vals =
{ "TLB Refill Exception (I-Fetch/LW)", 0x0180 };
-template <> FaultVals MipsFault<NDtbMissFault>::vals =
- { "dtb_miss_single", 0x0201 };
-
-template <> FaultVals MipsFault<PDtbMissFault>::vals =
- { "dtb_miss_double", 0x0281 };
-
-template <> FaultVals MipsFault<DtbPageFault>::vals =
- { "dfault", 0x0381 };
-
-template <> FaultVals MipsFault<DtbAcvFault>::vals =
- { "dfault", 0x0381 };
-
template <> FaultVals MipsFault<DtbInvalidFault>::vals =
{ "Invalid TLB Entry Exception (Store)", 0x0180 };
@@ -130,12 +103,6 @@ template <> FaultVals MipsFault<DtbRefillFault>::vals =
template <> FaultVals MipsFault<TLBModifiedFault>::vals =
{ "TLB Modified Exception", 0x0180 };
-template <> FaultVals MipsFault<FloatEnableFault>::vals =
- { "float_enable_fault", 0x0581 };
-
-template <> FaultVals MipsFault<IntegerOverflowFault>::vals =
- { "Integer Overflow Fault", 0x0501 };
-
template <> FaultVals MipsFault<DspStateDisabledFault>::vals =
{ "DSP Disabled Fault", 0x001a };
@@ -190,7 +157,7 @@ MipsFaultBase::setExceptionState(ThreadContext *tc, uint8_t excCode)
}
void
-ArithmeticFault::invoke(ThreadContext *tc, StaticInstPtr inst)
+IntegerOverflowFault::invoke(ThreadContext *tc, StaticInstPtr inst)
{
DPRINTF(MipsPRA, "%s encountered.\n", name());
setExceptionState(tc, 0xC);