Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/56466 )

Change subject: arch-x86: Get rid of some cruft related to microcode.
......................................................................

arch-x86: Get rid of some cruft related to microcode.

The x86 ISA description file for macroops had an Exec template in it
that wasn't used, and a base class for X86 macroops that can be folded
into the version defined in C++.

Change-Id: Id1b167b7b7e019e9e602fe758a091aa03a012b13
---
M src/arch/x86/insts/macroop.hh
M src/arch/x86/isa/macroop.isa
2 files changed, 24 insertions(+), 41 deletions(-)



diff --git a/src/arch/x86/insts/macroop.hh b/src/arch/x86/insts/macroop.hh
index 36718f7..c0fa53d 100644
--- a/src/arch/x86/insts/macroop.hh
+++ b/src/arch/x86/insts/macroop.hh
@@ -42,6 +42,7 @@
 #include "arch/x86/insts/static_inst.hh"
 #include "arch/x86/emulenv.hh"
 #include "arch/x86/types.hh"
+#include "base/logging.hh"

 namespace gem5
 {
@@ -84,6 +85,12 @@
             return microops[microPC];
     }

+    Fault
+    execute(ExecContext *, Trace::InstRecord *) const override
+    {
+        panic("Tried to execute macroop directly!");
+    }
+
     std::string
     generateDisassembly(Addr pc,
                         const loader::SymbolTable *symtab) const override
diff --git a/src/arch/x86/isa/macroop.isa b/src/arch/x86/isa/macroop.isa
index 6073756..9b6d682 100644
--- a/src/arch/x86/isa/macroop.isa
+++ b/src/arch/x86/isa/macroop.isa
@@ -35,45 +35,6 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

-//////////////////////////////////////////////////////////////////////////////
-//
-//  Architecture independent
-//
-
-// Execute method for macroops.
-def template MacroExecPanic {{
-    Fault
-    execute(ExecContext *, Trace::InstRecord *) const override
-    {
-        panic("Tried to execute macroop directly!");
-        return NoFault;
-    }
-}};
-
-output header {{
-    // Base class for combinationally generated macroops
-    class Macroop : public X86ISA::MacroopBase
-    {
-      public:
-        Macroop(const char *mnem, ExtMachInst _machInst,
-                uint32_t _numMicroops, X86ISA::EmulEnv _env)
-                    : MacroopBase(mnem, _machInst, _numMicroops, _env)
-        {}
-
-        Fault
-        execute(ExecContext *, Trace::InstRecord *) const override
-        {
-            panic("Tried to execute macroop directly!");
-        }
-    };
-}};
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//  X86 specific
-//
-//////////////////////////////////////////////////////////////////////////////
-
 // Basic instruction class declaration template.
 def template MacroDeclare {{
     GEM5_DEPRECATED_NAMESPACE(X86Macroop, x86_macroop);
@@ -200,7 +161,8 @@
             for (label, micropc) in self.labels.items():
                 declareLabels += "const static uint64_t label_%s = %d;\n" \
                                   % (label, micropc)
-            iop = InstObjParams(self.getMnemonic(), self.name, "Macroop",
+            iop = InstObjParams(self.getMnemonic(), self.name,
+                    "X86ISA::MacroopBase",
                     {"code" : "",
                      "declareLabels" : declareLabels
                     })
@@ -255,7 +217,8 @@
             regSize = '''(%s || (env.base == INTREG_RSP && %s) ?
                          env.stackSize :
                          env.dataSize)''' % (useStackSize, memoryInst)
-            iop = InstObjParams(self.getMnemonic(), self.name, "Macroop",
+            iop = InstObjParams(self.getMnemonic(), self.name,
+                                "X86ISA::MacroopBase",
                                 {"code" : "", "num_microops" : numMicroops,
                                  "alloc_microops" : allocMicroops,
                                  "adjust_env" : self.adjust_env,

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/56466
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id1b167b7b7e019e9e602fe758a091aa03a012b13
Gerrit-Change-Number: 56466
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to