Fix interrupt masking (Ralf Baechle
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 21 Aug 2005 09:43:38 +0000 (09:43 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 21 Aug 2005 09:43:38 +0000 (09:43 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1552 c046a42c-6fe2-441c-8c8c-71466251a162

cpu-exec.c

index e7f4322..bdfc865 100644 (file)
@@ -307,7 +307,7 @@ int cpu_exec(CPUState *env1)
 #elif defined(TARGET_MIPS)
                     if ((interrupt_request & CPU_INTERRUPT_HARD) &&
                         (env->CP0_Status & (1 << CP0St_IE)) &&
-                        (env->CP0_Cause & 0x0000FF00) &&
+                        (env->CP0_Status & env->CP0_Cause & 0x0000FF00) &&
                         !(env->hflags & MIPS_HFLAG_EXL) &&
                         !(env->hflags & MIPS_HFLAG_ERL) &&
                         !(env->hflags & MIPS_HFLAG_DM)) {