Merge zizzer.eecs.umich.edu:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/newmem-o3-micro --HG-- extra : convert_revision : 3fa3fa4544ff8c9d2135e1befe6c8f4757006a2a
This commit is contained in:
commit
16c1b5484f
4 changed files with 9 additions and 7 deletions
|
@ -103,7 +103,6 @@ output header {{
|
||||||
#include "base/misc.hh"
|
#include "base/misc.hh"
|
||||||
#include "cpu/static_inst.hh"
|
#include "cpu/static_inst.hh"
|
||||||
#include "mem/packet.hh"
|
#include "mem/packet.hh"
|
||||||
#include "mem/request.hh" // some constructors use MemReq flags
|
|
||||||
#include "sim/faults.hh"
|
#include "sim/faults.hh"
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|
|
@ -61,8 +61,8 @@ def macroop CALL_I
|
||||||
|
|
||||||
limm t2, imm
|
limm t2, imm
|
||||||
rdip t1
|
rdip t1
|
||||||
subi "INTREG_RSP", "INTREG_RSP", dsz
|
subi rsp, rsp, dsz
|
||||||
st t1, ss, [0, t0, "INTREG_RSP"]
|
st t1, ss, [0, t0, rsp]
|
||||||
wrip t1, t2
|
wrip t1, t2
|
||||||
};
|
};
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -58,16 +58,16 @@ def macroop POP_R {
|
||||||
# Make the default data size of pops 64 bits in 64 bit mode
|
# Make the default data size of pops 64 bits in 64 bit mode
|
||||||
.adjust_env oszIn64Override
|
.adjust_env oszIn64Override
|
||||||
|
|
||||||
ld reg, ss, [0, t0, "INTREG_RSP"]
|
ld reg, ss, [0, t0, rsp]
|
||||||
addi "INTREG_RSP", "INTREG_RSP", dsz
|
addi rsp, rsp, dsz
|
||||||
};
|
};
|
||||||
|
|
||||||
def macroop PUSH_R {
|
def macroop PUSH_R {
|
||||||
# Make the default data size of pops 64 bits in 64 bit mode
|
# Make the default data size of pops 64 bits in 64 bit mode
|
||||||
.adjust_env oszIn64Override
|
.adjust_env oszIn64Override
|
||||||
|
|
||||||
subi "INTREG_RSP", "INTREG_RSP", dsz
|
subi rsp, rsp, dsz
|
||||||
st reg, ss, [0, t0, "INTREG_RSP"]
|
st reg, ss, [0, t0, rsp]
|
||||||
};
|
};
|
||||||
'''
|
'''
|
||||||
#let {{
|
#let {{
|
||||||
|
|
|
@ -91,6 +91,9 @@ let {{
|
||||||
"osz" : "env.operandSize",
|
"osz" : "env.operandSize",
|
||||||
"ssz" : "env.stackSize"
|
"ssz" : "env.stackSize"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for reg in ('ax', 'bx', 'cx', 'dx', 'sp', 'bp', 'si', 'di'):
|
||||||
|
assembler.symbols["r%s" % reg] = "INTREG_R%s" % reg.upper()
|
||||||
assembler.symbols.update(symbols)
|
assembler.symbols.update(symbols)
|
||||||
|
|
||||||
# Code literal which forces a default 64 bit operand size in 64 bit mode.
|
# Code literal which forces a default 64 bit operand size in 64 bit mode.
|
||||||
|
|
Loading…
Reference in a new issue