summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/microasm.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2008-10-12 17:48:44 -0700
committerGabe Black <gblack@eecs.umich.edu>2008-10-12 17:48:44 -0700
commite5f80924671bf0cfaf02c51f4b98d529631733f1 (patch)
tree1bdc1b3d0178e4648bbde6f4de378a20d295d027 /src/arch/x86/isa/microasm.isa
parentc9ea0b73492bf116c836c54199898f29d9664bc0 (diff)
downloadgem5-e5f80924671bf0cfaf02c51f4b98d529631733f1.tar.xz
X86: Make X86's microcode ROM actually do something.
Diffstat (limited to 'src/arch/x86/isa/microasm.isa')
-rw-r--r--src/arch/x86/isa/microasm.isa10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/arch/x86/isa/microasm.isa b/src/arch/x86/isa/microasm.isa
index 735a7722c..9a5019f10 100644
--- a/src/arch/x86/isa/microasm.isa
+++ b/src/arch/x86/isa/microasm.isa
@@ -64,13 +64,16 @@
//Include code to build macroops in both C++ and python.
##include "macroop.isa"
+//Include code to fill out the microcode ROM in both C++ and python.
+##include "rom.isa"
+
let {{
import sys
sys.path[0:0] = ["src/arch/x86/isa/"]
from insts import microcode
# print microcode
- from micro_asm import MicroAssembler, Rom_Macroop, Rom
- mainRom = Rom('main ROM')
+ from micro_asm import MicroAssembler, Rom_Macroop
+ mainRom = X86MicrocodeRom('main ROM')
assembler = MicroAssembler(X86Macroop, microopClasses, mainRom, Rom_Macroop)
# Add in symbols for the microcode registers
for num in range(15):
@@ -186,4 +189,7 @@ let {{
assembler.symbols["st"] = stack_index
macroopDict = assembler.assemble(microcode)
+
+ decoder_output += mainRom.getDefinition()
+ header_output += mainRom.getDeclaration()
}};