Make trying to execute macroops fail with a better error message.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 11 Apr 2007 12:26:23 +0000 (12:26 +0000)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 11 Apr 2007 12:26:23 +0000 (12:26 +0000)
--HG--
extra : convert_revision : e81c0337d6db4b5a33381ed19686750bbb9d9178

src/arch/sparc/isa/formats/micro.isa

index 82d7fb4cb78ccca104cbd85f430cd7479d23b2d6..da0f97d1bf6e486f2ba98f023311d02447157854 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (c) 2006 The Regents of The University of Michigan
+// Copyright (c) 2006-2007 The Regents of The University of Michigan
 // All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 //
 // Authors: Gabe Black
 
+//This delcares the initiateAcc function in memory operations
+def template MacroInitiateAcc {{
+    Fault initiateAcc(%(CPU_exec_context)s *, Trace::InstRecord *) const
+    {
+        panic("Tried to execute a macroop directly!\n");
+        return NoFault;
+    }
+}};
+
+def template MacroCompleteAcc {{
+    Fault completeAcc(PacketPtr, %(CPU_exec_context)s *,
+            Trace::InstRecord *) const
+    {
+        panic("Tried to execute a macroop directly!\n");
+        return NoFault;
+    }
+}};
+
+//This template provides the execute functions for a store
+def template MacroExecute {{
+    Fault execute(%(CPU_exec_context)s *, Trace::InstRecord *) const
+    {
+        panic("Tried to execute a macroop directly!\n");
+        return NoFault;
+    }
+}};
+
 output header {{
 
         class SparcMacroInst : public SparcStaticInst
@@ -60,7 +87,9 @@ output header {{
                 return microOps[microPC];
             }
 
-            %(BasicExecPanic)s
+            %(MacroExecute)s
+            %(MacroInitiateAcc)s
+            %(MacroCompleteAcc)s
         };
 
         class SparcMicroInst : public SparcStaticInst