diff --git a/op-i386.c b/op-i386.c index fe1f7eb9db28243974b017eeb455fd19b46e0979..dac87003577761a963aed50a5eaa2ae6e92dad48 100644 --- a/op-i386.c +++ b/op-i386.c @@ -622,10 +622,11 @@ void OPPROTO op_int_im(void) raise_exception_err(EXCP0D_GPF, intno * 8 + 2); } -void OPPROTO op_int3(void) +void OPPROTO op_raise_exception(void) { - EIP = PARAM1; - raise_exception(EXCP03_INT3); + int exception_index; + exception_index = PARAM1; + raise_exception(exception_index); } void OPPROTO op_into(void) @@ -638,12 +639,6 @@ void OPPROTO op_into(void) FORCE_RET(); } -void OPPROTO op_gpf(void) -{ - EIP = PARAM1; - raise_exception(EXCP0D_GPF); -} - void OPPROTO op_cli(void) { env->eflags &= ~IF_MASK; diff --git a/opc-i386.h b/opc-i386.h index 2e48eb6eb3d2fd9337b8c08e8b77c4a40599a76e..de54d9c1da64bda360933ab6fa370c749936cbfa 100644 --- a/opc-i386.h +++ b/opc-i386.h @@ -230,13 +230,10 @@ DEF(add_bitl_A0_T1, 0) DEF(jmp_T0, 0) DEF(jmp_im, 1) DEF(int_im, 2) -DEF(int3, 1) +DEF(raise_exception, 2) DEF(into, 0) -DEF(gpf, 1) DEF(cli, 0) DEF(sti, 0) -DEF(cli_vm, 0) -DEF(sti_vm, 1) DEF(boundw, 0) DEF(boundl, 0) DEF(cmpxchg8b, 0) @@ -557,11 +554,8 @@ DEF(xor_T0_1, 0) DEF(set_cc_op, 1) DEF(movl_eflags_T0, 0) DEF(movw_eflags_T0, 0) -DEF(movw_eflags_T0_vm, 1) -DEF(movl_eflags_T0_vm, 1) DEF(movb_eflags_T0, 0) DEF(movl_T0_eflags, 0) -DEF(movl_T0_eflags_vm, 0) DEF(cld, 0) DEF(std, 0) DEF(clc, 0)