summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/microasm.isa
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/isa/microasm.isa')
-rw-r--r--src/arch/x86/isa/microasm.isa11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/x86/isa/microasm.isa b/src/arch/x86/isa/microasm.isa
index 040bb2036..8c499eeed 100644
--- a/src/arch/x86/isa/microasm.isa
+++ b/src/arch/x86/isa/microasm.isa
@@ -80,6 +80,10 @@ let {{
# Add in symbols for the segment descriptor registers
for letter in ("C", "D", "E", "F", "G", "S"):
assembler.symbols["%ss" % letter.lower()] = "SEGMENT_REG_%sS" % letter
+
+ for reg in ("LDTR", "TR", "GDTR", "IDTR"):
+ assembler.symbols[reg.lower()] = "SYS_SEGMENT_REG_%s" % reg
+
# Miscellaneous symbols
symbols = {
"reg" : "env.reg",
@@ -138,6 +142,13 @@ let {{
env.dataSize = 8;
'''
+ assembler.symbols["oszForPseudoDesc"] = '''
+ if (machInst.mode.submode == SixtyFourBitMode)
+ env.dataSize = 8;
+ else
+ env.dataSize = 4;
+ '''
+
def trimImm(width):
return "adjustedImm = adjustedImm & mask(%s);" % width