diff options
Diffstat (limited to 'target-i386/exec.h')
-rw-r--r-- | target-i386/exec.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/target-i386/exec.h b/target-i386/exec.h index 37fcdc01b7..11d12c9b00 100644 --- a/target-i386/exec.h +++ b/target-i386/exec.h @@ -593,8 +593,9 @@ static inline int cpu_halted(CPUState *env) { if (!(env->hflags & HF_HALTED_MASK)) return 0; /* disable halt condition */ - if ((env->interrupt_request & CPU_INTERRUPT_HARD) && - (env->eflags & IF_MASK)) { + if (((env->interrupt_request & CPU_INTERRUPT_HARD) && + (env->eflags & IF_MASK)) || + (env->interrupt_request & CPU_INTERRUPT_NMI)) { env->hflags &= ~HF_HALTED_MASK; return 0; } |