MCEs can be injected asynchronously, so they can also terminate the halt state. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> CC: Huang Ying <ying.huang@xxxxxxxxx> CC: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> CC: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx> --- target-i386/exec.h | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) diff --git a/target-i386/exec.h b/target-i386/exec.h index fc8945b..d050dd0 100644 --- a/target-i386/exec.h +++ b/target-i386/exec.h @@ -293,15 +293,12 @@ static inline void load_eflags(int eflags, int update_mask) static inline int cpu_has_work(CPUState *env) { - int work; - - work = (env->interrupt_request & CPU_INTERRUPT_HARD) && - (env->eflags & IF_MASK); - work |= env->interrupt_request & CPU_INTERRUPT_NMI; - work |= env->interrupt_request & CPU_INTERRUPT_INIT; - work |= env->interrupt_request & CPU_INTERRUPT_SIPI; - - return work; + return ((env->interrupt_request & CPU_INTERRUPT_HARD) && + (env->eflags & IF_MASK)) || + (env->interrupt_request & (CPU_INTERRUPT_NMI | + CPU_INTERRUPT_INIT | + CPU_INTERRUPT_SIPI | + CPU_INTERRUPT_MCE)); } static inline int cpu_halted(CPUState *env) { -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html