MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / SYS

Function SYS

arch/arm64/disassembler/decode2.c:27499–27526  ·  view source on GitHub ↗

sys.xml */

Source from the content-addressed store, hash-verified

27497
27498/* sys.xml */
27499int SYS(context *ctx, Instruction *instr)
27500{
27501 int rc = DECODE_STATUS_UNMATCHED;
27502 /* class iclass_system */
27503 /* 1101010100|L=0|op0=01|op1=xxx|CRn=xxxx|CRm=xxxx|op2=xxx|Rt=xxxxx */
27504 if((INSWORD & 0xFFF80000)==0xD5080000) {
27505 decode_fields32(ENC_SYS_CR_SYSTEMINSTRS, ctx, instr);
27506 CheckSystemAccess(1,ctx->op1,ctx->CRn,ctx->CRm,ctx->op2,ctx->Rt,ctx->L);
27507 ctx->t = UINT(ctx->Rt);
27508 ctx->sys_op0 = 1;
27509 ctx->sys_op1 = UINT(ctx->op1);
27510 ctx->sys_op2 = UINT(ctx->op2);
27511 ctx->sys_crn = UINT(ctx->CRn);
27512 ctx->sys_crm = UINT(ctx->CRm);
27513 ctx->has_result = (ctx->L==1);
27514 /* regular aliases */
27515 if(ctx->CRn==7 && (ctx->CRm&14)==8 && SysOp(ctx->op1,7,ctx->CRm,ctx->op2)==Sys_AT) return AT_SYS(ctx, instr);
27516 if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==3 && ctx->op2==4) return CFP_SYS(ctx, instr);
27517 if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==3 && ctx->op2==7) return CPP_SYS(ctx, instr);
27518 if(ctx->CRn==7 && SysOp(ctx->op1,7,ctx->CRm,ctx->op2)==Sys_DC) return DC_SYS(ctx, instr);
27519 if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==3 && ctx->op2==5) return DVP_SYS(ctx, instr);
27520 if(ctx->CRn==7 && SysOp(ctx->op1,7,ctx->CRm,ctx->op2)==Sys_IC) return IC_SYS(ctx, instr);
27521 // if(ctx->CRn==8 && SysOp(ctx->op1,8,ctx->CRm,ctx->op2)==Sys_TLBI) return TLBI_SYS(ctx, instr);
27522 if(((ctx->CRn&14)==8) && SysOp(ctx->op1,ctx->CRn,ctx->CRm,ctx->op2)==Sys_TLBI) return TLBI_SYS(ctx, instr);
27523 OK(ENC_SYS_CR_SYSTEMINSTRS);
27524 }
27525 return rc;
27526}
27527
27528/* sysl.xml */
27529int SYSL(context *ctx, Instruction *instr)

Callers 1

Calls 10

decode_fields32Function · 0.85
CheckSystemAccessFunction · 0.85
SysOpFunction · 0.85
AT_SYSFunction · 0.85
CFP_SYSFunction · 0.85
CPP_SYSFunction · 0.85
DC_SYSFunction · 0.85
DVP_SYSFunction · 0.85
IC_SYSFunction · 0.85
TLBI_SYSFunction · 0.85

Tested by

no test coverage detected