diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-05-10 15:10:02 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-05-10 15:10:02 +0000 |
commit | 564c8f9978499a12fc8efd8d3c4af54060d1adcf (patch) | |
tree | 9a620a52660918f8963d5027c0455a044cfad7a9 | |
parent | c50c0c3fbf65ce7a1cf42a2ea8974a930be7b667 (diff) |
simplified exception support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@146 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | op-i386.c | 13 | ||||
-rw-r--r-- | opc-i386.h | 8 |
2 files changed, 5 insertions, 16 deletions
@@ -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 2e48eb6eb3..de54d9c1da 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) |