diff options
Diffstat (limited to 'src/recompiler/cpu-exec.c')
-rw-r--r-- | src/recompiler/cpu-exec.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/recompiler/cpu-exec.c b/src/recompiler/cpu-exec.c index 52ee778b..aa1826c4 100644 --- a/src/recompiler/cpu-exec.c +++ b/src/recompiler/cpu-exec.c @@ -344,10 +344,18 @@ int cpu_exec(CPUState *env1) Log(("do_interrupt: vec=%#x int=%d pc=%04x:%RGv\n", env->exception_index, env->exception_is_int, env->segs[R_CS].selector, (RTGCPTR)env->exception_next_eip)); # endif /* VBOX */ +# ifdef IEM_VERIFICATION_MODE /* Ugly hack*/ + do_interrupt(env->exception_index, + env->exception_is_int && env->exception_is_int != 0x42, + env->error_code, + env->exception_next_eip, + env->exception_is_int == 0x42); +# else do_interrupt(env->exception_index, env->exception_is_int, env->error_code, env->exception_next_eip, 0); +# endif /* successfully delivered */ env->old_exception = -1; # ifdef VBOX @@ -436,7 +444,7 @@ int cpu_exec(CPUState *env1) if ( !(interrupt_request & CPU_INTERRUPT_HARD) || !(env->eflags & IF_MASK) || (env->hflags & HF_INHIBIT_IRQ_MASK) - || (env->state & CPU_RAW_HWACC) + || (env->state & CPU_RAW_HM) ) { env->exception_index = ret = EXCP_SINGLE_INSTR; |