summaryrefslogtreecommitdiff
path: root/src/recompiler/cpu-exec.c
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-03-26 19:21:20 +0000
committer <>2014-05-08 15:03:54 +0000
commitfb123f93f9f5ce42c8e5785d2f8e0edaf951740e (patch)
treec2103d76aec5f1f10892cd1d3a38e24f665ae5db /src/recompiler/cpu-exec.c
parent58ed4748338f9466599adfc8a9171280ed99e23f (diff)
downloadVirtualBox-master.tar.gz
Imported from /home/lorry/working-area/delta_VirtualBox/VirtualBox-4.3.10.tar.bz2.HEADVirtualBox-4.3.10master
Diffstat (limited to 'src/recompiler/cpu-exec.c')
-rw-r--r--src/recompiler/cpu-exec.c10
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;