changeset 31c067ae3331 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=31c067ae3331
description:
        MIPS: Format the register index constants like the other ISAs.
        Also a few more style fixes.

diffstat:

14 files changed, 444 insertions(+), 434 deletions(-)
src/arch/mips/faults.cc               |  124 +++++++--------
src/arch/mips/interrupts.cc           |   16 +-
src/arch/mips/isa.cc                  |  189 +++++++++++------------
src/arch/mips/isa/decoder.isa         |   58 +++----
src/arch/mips/isa/formats/control.isa |   10 -
src/arch/mips/isa/formats/dsp.isa     |    4 
src/arch/mips/isa/formats/fp.isa      |    9 -
src/arch/mips/isa/formats/mt.isa      |   12 -
src/arch/mips/isa/operands.isa        |  103 ++++++------
src/arch/mips/locked_mem.hh           |   10 -
src/arch/mips/mt.hh                   |   71 ++++----
src/arch/mips/registers.hh            |  262 ++++++++++++++++-----------------
src/arch/mips/tlb.cc                  |    6 
src/arch/mips/utility.hh              |    4 

diffs (truncated from 1790 to 300 lines):

diff -r 9bbcb643f303 -r 31c067ae3331 src/arch/mips/faults.cc
--- a/src/arch/mips/faults.cc   Tue Jul 21 21:27:54 2009 -0500
+++ b/src/arch/mips/faults.cc   Tue Jul 21 23:38:26 2009 -0700
@@ -178,18 +178,18 @@
 MipsFault::setExceptionState(ThreadContext *tc, uint8_t excCode)
 {
     // modify SRS Ctl - Save CSS, put ESS into CSS
-    StatusReg status = tc->readMiscReg(Status);
+    StatusReg status = tc->readMiscReg(MISCREG_STATUS);
     if (status.exl != 1 && status.bev != 1) {
         // SRS Ctl is modified only if Status_EXL and Status_BEV are not set
-        SRSCtlReg srsCtl = tc->readMiscReg(SRSCtl);
+        SRSCtlReg srsCtl = tc->readMiscReg(MISCREG_SRSCTL);
         srsCtl.pss = srsCtl.css;
         srsCtl.css = srsCtl.ess;
-        tc->setMiscRegNoEffect(SRSCtl, srsCtl);
+        tc->setMiscRegNoEffect(MISCREG_SRSCTL, srsCtl);
     }
 
     // set EXL bit (don't care if it is already set!)
     status.exl = 1;
-    tc->setMiscRegNoEffect(Status, status);
+    tc->setMiscRegNoEffect(MISCREG_STATUS, status);
 
     // write EPC
     // CHECK ME  or FIXME or FIX ME or POSSIBLE HACK
@@ -198,21 +198,21 @@
             tc->readPC(), tc->readNextPC(), tc->readNextNPC());
     int bd = 0;
     if (tc->readPC() + sizeof(MachInst) != tc->readNextPC()) {
-        tc->setMiscRegNoEffect(EPC, tc->readPC() - sizeof(MachInst));
+        tc->setMiscRegNoEffect(MISCREG_EPC, tc->readPC() - sizeof(MachInst));
         // In the branch delay slot? set CAUSE_31
         bd = 1;
     } else {
-        tc->setMiscRegNoEffect(EPC, tc->readPC());
+        tc->setMiscRegNoEffect(MISCREG_EPC, tc->readPC());
         // In the branch delay slot? reset CAUSE_31
         bd = 0;
     }
 
     // Set Cause_EXCCODE field
-    CauseReg cause = tc->readMiscReg(Cause);
+    CauseReg cause = tc->readMiscReg(MISCREG_CAUSE);
     cause.excCode = excCode;
     cause.bd = bd;
     cause.ce = 0;
-    tc->setMiscRegNoEffect(Cause, cause);
+    tc->setMiscRegNoEffect(MISCREG_CAUSE, cause);
 }
 
 void
@@ -223,12 +223,12 @@
 
     // Set new PC
     Addr HandlerBase;
-    StatusReg status = tc->readMiscReg(Status);
+    StatusReg status = tc->readMiscReg(MISCREG_STATUS);
     // Here, the handler is dependent on BEV, which is not modified by
     // setExceptionState()
     if (!status.bev) {
         // See MIPS ARM Vol 3, Revision 2, Page 38
-        HandlerBase = vect() + tc->readMiscReg(EBase);
+        HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     } else {
         HandlerBase = 0xBFC00200;
     }
@@ -240,12 +240,12 @@
 {
     DPRINTF(MipsPRA, "%s encountered.\n", name());
     setExceptionState(tc, 0x5);
-    tc->setMiscRegNoEffect(BadVAddr, badVAddr);
+    tc->setMiscRegNoEffect(MISCREG_BADVADDR, badVAddr);
 
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setHandlerPC(HandlerBase, tc);
 }
 
@@ -258,7 +258,7 @@
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setHandlerPC(HandlerBase, tc);
 }
 
@@ -270,7 +270,7 @@
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setHandlerPC(HandlerBase, tc);
 }
 
@@ -279,23 +279,23 @@
 {
     DPRINTF(MipsPRA, "%s encountered.\n", name());
 
-    tc->setMiscRegNoEffect(BadVAddr, badVAddr);
-    EntryHiReg entryHi = tc->readMiscReg(EntryHi);
+    tc->setMiscRegNoEffect(MISCREG_BADVADDR, badVAddr);
+    EntryHiReg entryHi = tc->readMiscReg(MISCREG_ENTRYHI);
     entryHi.asid = entryHiAsid;
     entryHi.vpn2 = entryHiVPN2;
     entryHi.vpn2x = entryHiVPN2X;
-    tc->setMiscRegNoEffect(EntryHi, entryHi);
+    tc->setMiscRegNoEffect(MISCREG_ENTRYHI, entryHi);
 
-    ContextReg context = tc->readMiscReg(Context);
+    ContextReg context = tc->readMiscReg(MISCREG_CONTEXT);
     context.badVPN2 = contextBadVPN2;
-    tc->setMiscRegNoEffect(Context, context);
+    tc->setMiscRegNoEffect(MISCREG_CONTEXT, context);
     setExceptionState(tc, 0x3);
 
 
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setHandlerPC(HandlerBase, tc);
 }
 
@@ -304,12 +304,12 @@
 {
     DPRINTF(MipsPRA, "%s encountered.\n", name());
     setExceptionState(tc, 0x4);
-    tc->setMiscRegNoEffect(BadVAddr, badVAddr);
+    tc->setMiscRegNoEffect(MISCREG_BADVADDR, badVAddr);
 
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setHandlerPC(HandlerBase, tc);
 }
 
@@ -318,51 +318,51 @@
 {
     DPRINTF(MipsPRA, "%s encountered.\n", name());
     setExceptionState(tc, 0x2);
-    tc->setMiscRegNoEffect(BadVAddr, badVAddr);
-    EntryHiReg entryHi = tc->readMiscReg(EntryHi);
+    tc->setMiscRegNoEffect(MISCREG_BADVADDR, badVAddr);
+    EntryHiReg entryHi = tc->readMiscReg(MISCREG_ENTRYHI);
     entryHi.asid = entryHiAsid;
     entryHi.vpn2 = entryHiVPN2;
     entryHi.vpn2x = entryHiVPN2X;
-    tc->setMiscRegNoEffect(EntryHi, entryHi);
+    tc->setMiscRegNoEffect(MISCREG_ENTRYHI, entryHi);
 
-    ContextReg context = tc->readMiscReg(Context);
+    ContextReg context = tc->readMiscReg(MISCREG_CONTEXT);
     context.badVPN2 = contextBadVPN2;
-    tc->setMiscRegNoEffect(Context, context);
+    tc->setMiscRegNoEffect(MISCREG_CONTEXT, context);
 
 
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setHandlerPC(HandlerBase,tc);
     DPRINTF(MipsPRA, "Exception Handler At: %x , EPC set to %x\n",
-            HandlerBase, tc->readMiscReg(EPC));
+            HandlerBase, tc->readMiscReg(MISCREG_EPC));
 }
 
 void
 ItbRefillFault::invoke(ThreadContext *tc)
 {
-    DPRINTF(MipsPRA, "%s encountered (%x).\n", name(), badVAddr);
+    DPRINTF(MipsPRA, "%s encountered (%x).\n", name(), MISCREG_BADVADDR);
     Addr HandlerBase;
-    tc->setMiscRegNoEffect(BadVAddr, badVAddr);
-    EntryHiReg entryHi = tc->readMiscReg(EntryHi);
+    tc->setMiscRegNoEffect(MISCREG_BADVADDR, badVAddr);
+    EntryHiReg entryHi = tc->readMiscReg(MISCREG_ENTRYHI);
     entryHi.asid = entryHiAsid;
     entryHi.vpn2 = entryHiVPN2;
     entryHi.vpn2x = entryHiVPN2X;
-    tc->setMiscRegNoEffect(EntryHi, entryHi);
-    ContextReg context = tc->readMiscReg(Context);
+    tc->setMiscRegNoEffect(MISCREG_ENTRYHI, entryHi);
+    ContextReg context = tc->readMiscReg(MISCREG_CONTEXT);
     context.badVPN2 = contextBadVPN2;
-    tc->setMiscRegNoEffect(Context, context);
+    tc->setMiscRegNoEffect(MISCREG_CONTEXT, context);
 
-    StatusReg status = tc->readMiscReg(Status);
+    StatusReg status = tc->readMiscReg(MISCREG_STATUS);
     // Since handler depends on EXL bit, must check EXL bit before setting it!!
     // See MIPS ARM Vol 3, Revision 2, Page 38
     if (status.exl == 1) {
         // Offset 0x180 - General Exception Vector
-        HandlerBase = vect() + tc->readMiscReg(EBase);
+        HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     } else {
         // Offset 0x000
-        HandlerBase = tc->readMiscReg(EBase);
+        HandlerBase = tc->readMiscReg(MISCREG_EBASE);
     }
 
     setExceptionState(tc, 0x2);
@@ -375,26 +375,26 @@
     // Set new PC
     DPRINTF(MipsPRA, "%s encountered.\n", name());
     Addr HandlerBase;
-    tc->setMiscRegNoEffect(BadVAddr, badVAddr);
-    EntryHiReg entryHi = tc->readMiscReg(EntryHi);
+    tc->setMiscRegNoEffect(MISCREG_BADVADDR, badVAddr);
+    EntryHiReg entryHi = tc->readMiscReg(MISCREG_ENTRYHI);
     entryHi.asid = entryHiAsid;
     entryHi.vpn2 = entryHiVPN2;
     entryHi.vpn2x = entryHiVPN2X;
-    tc->setMiscRegNoEffect(EntryHi, entryHi);
+    tc->setMiscRegNoEffect(MISCREG_ENTRYHI, entryHi);
 
-    ContextReg context = tc->readMiscReg(Context);
+    ContextReg context = tc->readMiscReg(MISCREG_CONTEXT);
     context.badVPN2 = contextBadVPN2;
-    tc->setMiscRegNoEffect(Context, context);
+    tc->setMiscRegNoEffect(MISCREG_CONTEXT, context);
 
-    StatusReg status = tc->readMiscReg(Status);
+    StatusReg status = tc->readMiscReg(MISCREG_STATUS);
     // Since handler depends on EXL bit, must check EXL bit before setting it!!
     // See MIPS ARM Vol 3, Revision 2, Page 38
     if (status.exl) {
         // Offset 0x180 - General Exception Vector
-        HandlerBase = vect() + tc->readMiscReg(EBase);
+        HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     } else {
         // Offset 0x000
-        HandlerBase = tc->readMiscReg(EBase);
+        HandlerBase = tc->readMiscReg(MISCREG_EBASE);
     }
 
     setExceptionState(tc, 0x3);
@@ -406,21 +406,21 @@
 TLBModifiedFault::invoke(ThreadContext *tc)
 {
     DPRINTF(MipsPRA, "%s encountered.\n", name());
-    tc->setMiscRegNoEffect(BadVAddr, badVAddr);
-    EntryHiReg entryHi = tc->readMiscReg(EntryHi);
+    tc->setMiscRegNoEffect(MISCREG_BADVADDR, badVAddr);
+    EntryHiReg entryHi = tc->readMiscReg(MISCREG_ENTRYHI);
     entryHi.asid = entryHiAsid;
     entryHi.vpn2 = entryHiVPN2;
     entryHi.vpn2x = entryHiVPN2X;
-    tc->setMiscRegNoEffect(EntryHi, entryHi);
+    tc->setMiscRegNoEffect(MISCREG_ENTRYHI, entryHi);
 
-    ContextReg context = tc->readMiscReg(Context);
+    ContextReg context = tc->readMiscReg(MISCREG_CONTEXT);
     context.badVPN2 = contextBadVPN2;
-    tc->setMiscRegNoEffect(Context, context);
+    tc->setMiscRegNoEffect(MISCREG_CONTEXT, context);
 
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setExceptionState(tc, 0x1);
     setHandlerPC(HandlerBase, tc);
 
@@ -435,7 +435,7 @@
     // Set new PC
     Addr HandlerBase;
     // Offset 0x180 - General Exception Vector
-    HandlerBase = vect() + tc->readMiscReg(EBase);
+    HandlerBase = vect() + tc->readMiscReg(MISCREG_EBASE);
     setHandlerPC(HandlerBase, tc);
 }
 
@@ -447,13 +447,13 @@
     setExceptionState(tc, 0x0A);
     Addr HandlerBase;
 
-    CauseReg cause = tc->readMiscRegNoEffect(Cause);
+    CauseReg cause = tc->readMiscRegNoEffect(MISCREG_CAUSE);
     if (cause.iv) {
         // Offset 200 for release 2
-        HandlerBase = 0x20 + vect() + tc->readMiscRegNoEffect(EBase);
+        HandlerBase = 0x20 + vect() + tc->readMiscRegNoEffect(MISCREG_EBASE);
     } else {
         //Ofset at 180 for release 1
-        HandlerBase = vect() + tc->readMiscRegNoEffect(EBase);
+        HandlerBase = vect() + tc->readMiscRegNoEffect(MISCREG_EBASE);
     }
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to