arm: Add m5_fail support for aarch64
Change-Id: Id2acbc09772be310a0eb9e33295afab07e08a4fa Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
parent
1fe5f63137
commit
e5c1488cb6
2 changed files with 15 additions and 0 deletions
|
@ -2013,6 +2013,7 @@ namespace Aarch64
|
||||||
case 0x11: return new Deprecated_ivle(machInst);
|
case 0x11: return new Deprecated_ivle(machInst);
|
||||||
case 0x20: return new Deprecated_exit (machInst);
|
case 0x20: return new Deprecated_exit (machInst);
|
||||||
case 0x21: return new M5exit64(machInst);
|
case 0x21: return new M5exit64(machInst);
|
||||||
|
case 0x22: return new M5fail64(machInst);
|
||||||
case 0x31: return new Loadsymbol(machInst);
|
case 0x31: return new Loadsymbol(machInst);
|
||||||
case 0x30: return new Initparam64(machInst);
|
case 0x30: return new Initparam64(machInst);
|
||||||
case 0x40: return new Resetstats64(machInst);
|
case 0x40: return new Resetstats64(machInst);
|
||||||
|
|
|
@ -247,6 +247,11 @@ let {{
|
||||||
m5fail_code = '''
|
m5fail_code = '''
|
||||||
PseudoInst::m5fail(xc->tcBase(), join32to64(R1, R0), join32to64(R3, R2));
|
PseudoInst::m5fail(xc->tcBase(), join32to64(R1, R0), join32to64(R3, R2));
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
m5fail_code64 = '''
|
||||||
|
PseudoInst::m5fail(xc->tcBase(), X0, X1);
|
||||||
|
'''
|
||||||
|
|
||||||
m5failIop = InstObjParams("m5fail", "M5fail", "PredOp",
|
m5failIop = InstObjParams("m5fail", "M5fail", "PredOp",
|
||||||
{ "code": m5fail_code,
|
{ "code": m5fail_code,
|
||||||
"predicate_test": predicateTest },
|
"predicate_test": predicateTest },
|
||||||
|
@ -255,6 +260,15 @@ let {{
|
||||||
decoder_output += BasicConstructor.subst(m5failIop)
|
decoder_output += BasicConstructor.subst(m5failIop)
|
||||||
exec_output += PredOpExecute.subst(m5failIop)
|
exec_output += PredOpExecute.subst(m5failIop)
|
||||||
|
|
||||||
|
m5failIop = InstObjParams("m5fail", "M5fail64", "PredOp",
|
||||||
|
{ "code": m5fail_code64,
|
||||||
|
"predicate_test": predicateTest },
|
||||||
|
["No_OpClass", "IsNonSpeculative"])
|
||||||
|
header_output += BasicDeclare.subst(m5failIop)
|
||||||
|
decoder_output += BasicConstructor.subst(m5failIop)
|
||||||
|
exec_output += PredOpExecute.subst(m5failIop)
|
||||||
|
|
||||||
|
|
||||||
m5exitIop = InstObjParams("m5exit", "M5exit64", "PredOp",
|
m5exitIop = InstObjParams("m5exit", "M5exit64", "PredOp",
|
||||||
{ "code": m5exit_code64,
|
{ "code": m5exit_code64,
|
||||||
"predicate_test": predicateTest },
|
"predicate_test": predicateTest },
|
||||||
|
|
Loading…
Reference in a new issue