arm: Add support for the m5fail pseudo-op

This commit is contained in:
Andreas Sandberg 2013-05-14 15:06:50 +02:00
parent e1cbe33c72
commit 1ae30c68c1
3 changed files with 13 additions and 0 deletions

View file

@ -53,6 +53,7 @@ def format M5ops() {{
case 0x11: return new Deprecated_ivle(machInst);
case 0x20: return new Deprecated_exit (machInst);
case 0x21: return new M5exit(machInst);
case 0x22: return new M5fail(machInst);
case 0x31: return new Loadsymbol(machInst);
case 0x30: return new Initparam(machInst);
case 0x40: return new Resetstats(machInst);

View file

@ -179,6 +179,17 @@ let {{
decoder_output += BasicConstructor.subst(m5exitIop)
exec_output += PredOpExecute.subst(m5exitIop)
m5fail_code = '''
PseudoInst::m5fail(xc->tcBase(), join32to64(R1, R0), join32to64(R3, R2));
'''
m5failIop = InstObjParams("m5fail", "M5fail", "PredOp",
{ "code": m5fail_code,
"predicate_test": predicateTest },
["No_OpClass", "IsNonSpeculative"])
header_output += BasicDeclare.subst(m5failIop)
decoder_output += BasicConstructor.subst(m5failIop)
exec_output += PredOpExecute.subst(m5failIop)
loadsymbolCode = '''
PseudoInst::loadsymbol(xc->tcBase());
'''

View file

@ -90,6 +90,7 @@ SIMPLE_OP(quiesceTime, quiescetime_func, 0)
SIMPLE_OP(rpns, rpns_func, 0)
SIMPLE_OP(wakeCPU, wakecpu_func, 0)
SIMPLE_OP(m5_exit, exit_func, 0)
SIMPLE_OP(m5_fail, fail_func, 0)
SIMPLE_OP(m5_initparam, initparam_func, 0)
SIMPLE_OP(m5_loadsymbol, loadsymbol_func, 0)
SIMPLE_OP(m5_reset_stats, resetstats_func, 0)