Clean up where files are included, and get rid of some cruft.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 8 Jun 2007 17:14:39 +0000 (17:14 +0000)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 8 Jun 2007 17:14:39 +0000 (17:14 +0000)
src/arch/x86/isa/main.isa:
    Clean up where files are included.

--HG--
extra : convert_revision : 0528359432bf0fb9198b63de9611176bc78e07c7

src/arch/x86/isa/main.isa
src/arch/x86/isa/microasm.isa

index 509f4e222ee7535dd6ff8dfe9f27cdba7b12c1cd..d28390bd148674eb90225f274b7f6f35926d7067 100644 (file)
 
 namespace X86ISA;
 
-//Include the base class for x86 instructions, and some support code.
-##include "base.isa"
-
-//Include the definitions for the instruction formats
-##include "formats/formats.isa"
-
 //Include the operand_types and operand definitions. These are needed by
 //the microop definitions.
 ##include "operands.isa"
 
-//Include the definitions of the micro ops.
-//These are StaticInst classes which stand on their own and make up an
-//internal instruction set.
-##include "microops/microops.isa"
+//Include the bitfield definitions
+##include "bitfields.isa"
+
+//Include the base class for x86 instructions, and some support code.
+##include "base.isa"
 
-//Include code to build macroops.
-##include "macroop.isa"
+//Include the definitions for the instruction formats
+##include "formats/formats.isa"
 
 //Include the simple microcode assembler. This will hopefully stay
 //unspecialized for x86 and can later be made available to other ISAs.
@@ -99,8 +94,5 @@ namespace X86ISA;
 //microcode ISA.
 ##include "specialize.isa"
 
-//Include the bitfield definitions
-##include "bitfields.isa"
-
 //Include the decoder definition
 ##include "decoder/decoder.isa"
index e8033d31c868d62b446067c8bea03bddee0b74b5..8a6e7ca522343a3e1025a13fb4fb20238eeac9f9 100644 (file)
 //
 // Authors: Gabe Black
 
-//##include "microops/microops.isa"
-//##include "macroop.isa"
+//Include the definitions of the micro ops.
+//These are StaticInst classes which stand on their own and make up an
+//internal instruction set.
+##include "microops/microops.isa"
+
+//Include code to build macroops.
+##include "macroop.isa"
 
 let {{
     import sys
@@ -68,39 +73,3 @@ let {{
     assembler = MicroAssembler(X86Macroop, microopClasses, mainRom, Rom_Macroop)
     macroopDict = assembler.assemble(microcode)
 }};
-
-////////////////////////////////////////////////////////////////////
-//
-// Microcode assembler specialization for x86
-//
-
-let {{
-    from micro_asm import MicroAssembler, Combinational_Macroop, Rom_Macroop, Rom
-    class X86Macroop(Combinational_Macroop):
-        def __init__(self, name):
-            super(X86Macroop, self).__init__(name)
-            self.directives = {
-            }
-
-    mainRom = Rom('main ROM')
-}};
-
-let {{
-    class X86Microop(object):
-        def __init__(self, name):
-            self.name = name
-
-        # This converts a list of python bools into
-        # a comma seperated list of C++ bools.
-        def microFlagsText(self, vals):
-            text = ""
-            for val in vals:
-                if val:
-                    text += ", true"
-                else:
-                    text += ", false"
-            return text
-
-        def getAllocator(self, mnemonic, *microFlags):
-            return 'new %s(machInst, %s)' % (self.className, mnemonic, self.microFlagsText(microFlags))
-}};