changeset 78b94954f66a in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=78b94954f66a
description:
X86: Create a handy way to access labels from the ROM in microcode.
diffstat:
2 files changed, 2 insertions(+), 1 deletion(-)
src/arch/x86/isa/microasm.isa | 2 ++
src/arch/x86/isa/rom.isa | 1 -
diffs (39 lines):
diff -r e7925fa8f0d6 -r 78b94954f66a src/arch/x86/isa/microasm.isa
--- a/src/arch/x86/isa/microasm.isa Sun Oct 12 17:48:44 2008 -0700
+++ b/src/arch/x86/isa/microasm.isa Sun Oct 12 17:52:51 2008 -0700
@@ -183,6 +183,11 @@
assembler.symbols["label"] = labeler
+ def rom_labeler(labelStr):
+ return "romMicroPC(RomLabels::extern_label_%s)" % labelStr
+
+ assembler.symbols["rom_label"] = rom_labeler
+
def stack_index(index):
return "(NUM_FLOATREGS + (((%s) + 8) %% 8))" % index
diff -r e7925fa8f0d6 -r 78b94954f66a src/arch/x86/isa/microops/base.isa
--- a/src/arch/x86/isa/microops/base.isa Sun Oct 12 17:48:44 2008 -0700
+++ b/src/arch/x86/isa/microops/base.isa Sun Oct 12 17:52:51 2008 -0700
@@ -88,6 +88,7 @@
// env may not be used in the microop's constructor.
RegIndex reg = env.reg;
reg = reg;
+ using namespace RomLabels;
return %s;
}
'''
diff -r e7925fa8f0d6 -r 78b94954f66a src/arch/x86/isa/rom.isa
--- a/src/arch/x86/isa/rom.isa Sun Oct 12 17:48:44 2008 -0700
+++ b/src/arch/x86/isa/rom.isa Sun Oct 12 17:52:51 2008 -0700
@@ -55,9 +55,6 @@
def getDeclaration(self):
declareLabels = "namespace RomLabels {\n"
- for (label, microop) in self.labels.items():
- declareLabels += "const static uint64_t label_%s = %d;\n" \
- % (label, microop.micropc)
for (label, microop) in self.externs.items():
declareLabels += \
"const static MicroPC extern_label_%s = %d;\n" \
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev