Index: target-ppc/helper.c =================================================================== RCS file: /sources/qemu/qemu/target-ppc/helper.c,v retrieving revision 1.85 diff -u -d -d -p -r1.85 helper.c --- target-ppc/helper.c 28 Oct 2007 00:55:05 -0000 1.85 +++ target-ppc/helper.c 2 Nov 2007 13:35:52 -0000 @@ -2146,10 +2145,9 @@ static always_inline void powerpc_excp ( new_msr |= (target_ulong)1 << MSR_HV; #endif msr |= 0x00100000; - if (msr_fe0 != msr_fe1) { - msr |= 0x00010000; - goto store_current; - } + if (msr_fe0 == msr_fe1) + goto store_next; + msr |= 0x00010000; break; case POWERPC_EXCP_INVAL: #if defined (DEBUG_EXCEPTIONS) @@ -2187,7 +2185,7 @@ static always_inline void powerpc_excp ( env->error_code); break; } - goto store_next; + goto store_current; case POWERPC_EXCP_FPU: /* Floating-point unavailable exception */ new_msr &= ~((target_ulong)1 << MSR_RI); #if defined(TARGET_PPC64H)