Remove fake fault.
authorKevin Lim <ktlim@umich.edu>
Thu, 16 Feb 2006 19:55:15 +0000 (14:55 -0500)
committerKevin Lim <ktlim@umich.edu>
Thu, 16 Feb 2006 19:55:15 +0000 (14:55 -0500)
Switch fault pointers to const pointers to prevent them from accidentally being changed.
Fix some coding style.

arch/alpha/ev5.cc:
cpu/o3/commit_impl.hh:
kern/kernel_stats.hh:
    Remove fake fault.
arch/alpha/faults.cc:
    Remove fake fault, fix to have normal m5 line length limit, and change pointers to be const pointers so that the default faults aren't changed accidentally.
arch/alpha/faults.hh:
    Fix to have normal m5 line length limit, change pointers to const pointers.
sim/faults.cc:
sim/faults.hh:
    Remove fake fault, change pointers to const pointers.

--HG--
extra : convert_revision : 01d4600e0d4bdc1d177b32edebc78f86a1bbfe2e

arch/alpha/ev5.cc
arch/alpha/faults.cc
arch/alpha/faults.hh
cpu/o3/commit_impl.hh
kern/kernel_stats.hh
sim/faults.cc
sim/faults.hh

index a4860972969da10b0fce66f045dda6bd931e06c0..72f48bfb26ed412427a306db8c6bce5e2a294f1c 100644 (file)
@@ -91,7 +91,6 @@ AlphaISA::fault_addr(Fault * fault)
         if(fault == NoFault) return 0x0000;
         else if(fault == MachineCheckFault) return 0x0401;
         else if(fault == AlignmentFault) return 0x0301;
-        else if(fault == FakeMemFault) return 0x0000;
         //Deal with the alpha specific faults
         return ((AlphaFault*)fault)->vect;
 };
index 2dc3d9cbb57d0ddb0d84e05f7e76fbeed26219dc..e05b3fe59871d8a434f9b271e32a4d4db2d00031 100644 (file)
 
 #include "arch/alpha/faults.hh"
 
-ResetFaultType * ResetFault = new ResetFaultType("reset", 1, 0x0001);
-ArithmeticFaultType * ArithmeticFault = new ArithmeticFaultType("arith", 3, 0x0501);
-InterruptFaultType * InterruptFault = new InterruptFaultType("interrupt", 4, 0x0101);
-NDtbMissFaultType * NDtbMissFault = new NDtbMissFaultType("dtb_miss_single", 5, 0x0201);
-PDtbMissFaultType * PDtbMissFault = new PDtbMissFaultType("dtb_miss_double", 6, 0x0281);
-DtbPageFaultType * DtbPageFault = new DtbPageFaultType("dfault", 8, 0x0381);
-DtbAcvFaultType * DtbAcvFault = new DtbAcvFaultType("dfault", 9, 0x0381);
-ItbMissFaultType * ItbMissFault = new ItbMissFaultType("itbmiss", 10, 0x0181);
-ItbPageFaultType * ItbPageFault = new ItbPageFaultType("itbmiss", 11, 0x0181);
-ItbAcvFaultType * ItbAcvFault = new ItbAcvFaultType("iaccvio", 12, 0x0081);
-UnimplementedOpcodeFaultType * UnimplementedOpcodeFault = new UnimplementedOpcodeFaultType("opdec", 13, 0x0481);
-FloatEnableFaultType * FloatEnableFault = new FloatEnableFaultType("fen", 14, 0x0581);
-PalFaultType * PalFault = new PalFaultType("pal", 15, 0x2001);
-IntegerOverflowFaultType * IntegerOverflowFault = new IntegerOverflowFaultType("intover", 16, 0x0501);
+ResetFaultType * const ResetFault =
+    new ResetFaultType("reset", 1, 0x0001);
+ArithmeticFaultType * const ArithmeticFault =
+    new ArithmeticFaultType("arith", 3, 0x0501);
+InterruptFaultType * const InterruptFault =
+    new InterruptFaultType("interrupt", 4, 0x0101);
+NDtbMissFaultType * const NDtbMissFault =
+    new NDtbMissFaultType("dtb_miss_single", 5, 0x0201);
+PDtbMissFaultType * const PDtbMissFault =
+    new PDtbMissFaultType("dtb_miss_double", 6, 0x0281);
+DtbPageFaultType * const DtbPageFault =
+    new DtbPageFaultType("dfault", 8, 0x0381);
+DtbAcvFaultType * const DtbAcvFault =
+    new DtbAcvFaultType("dfault", 9, 0x0381);
+ItbMissFaultType * const ItbMissFault =
+    new ItbMissFaultType("itbmiss", 10, 0x0181);
+ItbPageFaultType * const ItbPageFault =
+    new ItbPageFaultType("itbmiss", 11, 0x0181);
+ItbAcvFaultType * const ItbAcvFault =
+    new ItbAcvFaultType("iaccvio", 12, 0x0081);
+UnimplementedOpcodeFaultType * const UnimplementedOpcodeFault =
+    new UnimplementedOpcodeFaultType("opdec", 13, 0x0481);
+FloatEnableFaultType * const FloatEnableFault =
+    new FloatEnableFaultType("fen", 14, 0x0581);
+PalFaultType * const PalFault =
+    new PalFaultType("pal", 15, 0x2001);
+IntegerOverflowFaultType * const IntegerOverflowFault =
+    new IntegerOverflowFaultType("intover", 16, 0x0501);
 
 Fault ** ListOfFaults[] = {
         (Fault **)&NoFault,
@@ -61,7 +75,6 @@ Fault ** ListOfFaults[] = {
         (Fault **)&FloatEnableFault,
         (Fault **)&PalFault,
         (Fault **)&IntegerOverflowFault,
-        (Fault **)&FakeMemFault
         };
 
 int NumFaults = sizeof(ListOfFaults) / sizeof(Fault **);
index 2bb929a1e67ce66b5e6f7cf72ca77fbafbac2b53..06605861a1078973211e033d3874496b92c334de 100644 (file)
 
 class AlphaFault : public Fault
 {
-public:
-        AlphaFault(char * newName, int newId, Addr newVect) : Fault(newName, newId), vect(newVect) {;}
-        TheISA::Addr vect;
+  public:
+    AlphaFault(char * newName, int newId, Addr newVect)
+        : Fault(newName, newId), vect(newVect)
+    {;}
+
+    TheISA::Addr vect;
 };
 
 extern class ResetFaultType : public AlphaFault
 {
-public:
-        ResetFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * ResetFault;
+  public:
+    ResetFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const ResetFault;
 
 extern class ArithmeticFaultType : public AlphaFault
 {
-public:
-        ArithmeticFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * ArithmeticFault;
+  public:
+    ArithmeticFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const ArithmeticFault;
 
 extern class InterruptFaultType : public AlphaFault
 {
-public:
-        InterruptFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * InterruptFault;
+  public:
+    InterruptFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const InterruptFault;
 
 extern class NDtbMissFaultType : public AlphaFault
 {
-public:
-        NDtbMissFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * NDtbMissFault;
+  public:
+    NDtbMissFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const NDtbMissFault;
 
 extern class PDtbMissFaultType : public AlphaFault
 {
-public:
-        PDtbMissFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * PDtbMissFault;
+  public:
+    PDtbMissFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const PDtbMissFault;
 
 extern class DtbPageFaultType : public AlphaFault
 {
-public:
-        DtbPageFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * DtbPageFault;
+  public:
+    DtbPageFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const DtbPageFault;
 
 extern class DtbAcvFaultType : public AlphaFault
 {
-public:
-        DtbAcvFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * DtbAcvFault;
+  public:
+    DtbAcvFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const DtbAcvFault;
 
 extern class ItbMissFaultType : public AlphaFault
 {
-public:
-        ItbMissFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * ItbMissFault;
+  public:
+    ItbMissFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const ItbMissFault;
 
 extern class ItbPageFaultType : public AlphaFault
 {
-public:
-        ItbPageFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * ItbPageFault;
+  public:
+    ItbPageFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const ItbPageFault;
 
 extern class ItbAcvFaultType : public AlphaFault
 {
-public:
-        ItbAcvFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * ItbAcvFault;
+  public:
+    ItbAcvFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const ItbAcvFault;
 
 extern class UnimplementedOpcodeFaultType : public AlphaFault
 {
-public:
-        UnimplementedOpcodeFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * UnimplementedOpcodeFault;
+  public:
+    UnimplementedOpcodeFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const UnimplementedOpcodeFault;
 
 extern class FloatEnableFaultType : public AlphaFault
 {
-public:
-        FloatEnableFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * FloatEnableFault;
+  public:
+    FloatEnableFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const FloatEnableFault;
 
 extern class PalFaultType : public AlphaFault
 {
-public:
-        PalFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * PalFault;
+  public:
+    PalFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const PalFault;
 
 extern class IntegerOverflowFaultType : public AlphaFault
 {
-public:
-        IntegerOverflowFaultType(char * newName, int newId, Addr newVect) : AlphaFault(newName, newId, newVect) {;}
-} * IntegerOverflowFault;
+  public:
+    IntegerOverflowFaultType(char * newName, int newId, Addr newVect)
+        : AlphaFault(newName, newId, newVect)
+    {;}
+} * const IntegerOverflowFault;
 
 extern Fault ** ListOfFaults[];
 extern int NumFaults;
index 540f16b78f15f1a22c81c03f794f0fd4b5b2f627..47b4dfd00de300401c901aafced19e3ad646584b 100644 (file)
@@ -395,7 +395,7 @@ SimpleCommit<Impl>::commitHead(DynInstPtr &head_inst, unsigned inst_num)
     // Check if the instruction caused a fault.  If so, trap.
     Fault * inst_fault = head_inst->getFault();
 
-    if (inst_fault != NoFault && inst_fault != FakeMemFault) {
+    if (inst_fault != NoFault) {
         if (!head_inst->isNop()) {
 #if FULL_SYSTEM
             cpu->trap(inst_fault);
index 98cc044ac482c3a19dcef0e3756a6c4a8a971824..a36c73fb4d6233ded79687b9ca1c5c69ae41f31c 100644 (file)
@@ -181,7 +181,6 @@ class Statistics : public Serializable
             if(fault == NoFault) _faults[0]++;
             else if(fault == MachineCheckFault) _faults[2]++;
             else if(fault == AlignmentFault) _faults[7]++;
-            else if(fault == FakeMemFault) _faults[17]++;
             else _faults[fault->id]++;
     }// FIXME: When there are no generic system fault objects, this will go back to _faults[fault]++; }
     void swpipl(int ipl);
index 640f439c4bc66e4a436bef6255222a7e99744419..58a631263edd54c3401c666e595914f09fe8302b 100644 (file)
@@ -28,9 +28,9 @@
 
 #include "sim/faults.hh"
 
-NoFaultType * NoFault = new NoFaultType("none");
-MachineCheckFaultType * MachineCheckFault = new MachineCheckFaultType("mchk");
-AlignmentFaultType * AlignmentFault = new AlignmentFaultType("unalign");
-//This needs to not exist
-FakeMemFaultType * FakeMemFault = new FakeMemFaultType("fakemem");
+NoFaultType * const NoFault = new NoFaultType("none");
+MachineCheckFaultType * const MachineCheckFault =
+    new MachineCheckFaultType("mchk");
+AlignmentFaultType * const AlignmentFault =
+    new AlignmentFaultType("unalign");
 
index bc2c35c649d8682a80a27d5bea5840f76b65c53f..d9c742b90d0174a7585574eda7e233da11f3ff39 100644 (file)
@@ -41,25 +41,19 @@ extern class NoFaultType : public Fault
 {
 public:
         NoFaultType(char * newName) : Fault(newName) {;}
-} * NoFault;
+} * const NoFault;
 
 extern class MachineCheckFaultType : public Fault
 {
 public:
         MachineCheckFaultType(char * newName) : Fault(newName) {;}
-} * MachineCheckFault;
+} * const MachineCheckFault;
 
 extern class AlignmentFaultType : public Fault
 {
 public:
         AlignmentFaultType(char * newName) : Fault(newName) {;}
-} * AlignmentFault;
-
-extern class FakeMemFaultType : public Fault
-{
-public:
-        FakeMemFaultType(char * newName) : Fault(newName) {;}
-} * FakeMemFault;
+} * const AlignmentFault;
 
 
 #endif // __FAULTS_HH__