Skip to content

Commit

Permalink
amd64: Remap int imm8 Ijk_{NoDecode,Sys_int*}->Ijk_Sys_syscall (#70)
Browse files Browse the repository at this point in the history
Instead of handling vectors with unique jumpkinds or NoDecode, simply
exit with a Ijk_Sys_syscall for higher level handling.
  • Loading branch information
mborgerson authored Dec 6, 2024
1 parent 574a277 commit 390c476
Showing 1 changed file with 4 additions and 9 deletions.
13 changes: 4 additions & 9 deletions priv/guest_amd64_toIR.c
Original file line number Diff line number Diff line change
Expand Up @@ -21318,15 +21318,10 @@ Long dis_ESC_NONE (

case 0xCD: /* INT imm8 */
d64 = getUChar(delta); delta++;

/* Handle int $0xD2 (Solaris fasttrap syscalls). */
if (d64 == 0xD2) {
jmp_lit(dres, Ijk_Sys_int210, guest_RIP_bbstart + delta);
vassert(dres->whatNext == Dis_StopHere);
DIP("int $0xD2\n");
return delta;
}
goto decode_failure;
jmp_lit(dres, Ijk_Sys_syscall, guest_RIP_bbstart + delta);
vassert(dres->whatNext == Dis_StopHere);
DIP("int $0x%x\n", d64);
return delta;

case 0xD0: { /* Grp2 1,Eb */
Bool decode_OK = True;
Expand Down

0 comments on commit 390c476

Please sign in to comment.