提交 05edc26c 编写于 作者: A Alexander Graf

PPC: Only enter MSR_POW when no interrupts pending

We were entering the power saving state even when interrupts (like an
external interrupt or a decrementer interrupt) were still in flight.

In case we find a pending interrupt, don't enter power saving state.
Signed-off-by: NAlexander Graf <agraf@suse.de>
Reviewed-by: NTom Musta <tmusta@gmail.com>
上级 e81a982a
...@@ -101,7 +101,7 @@ static inline int hreg_store_msr(CPUPPCState *env, target_ulong value, ...@@ -101,7 +101,7 @@ static inline int hreg_store_msr(CPUPPCState *env, target_ulong value,
hreg_compute_hflags(env); hreg_compute_hflags(env);
#if !defined(CONFIG_USER_ONLY) #if !defined(CONFIG_USER_ONLY)
if (unlikely(msr_pow == 1)) { if (unlikely(msr_pow == 1)) {
if ((*env->check_pow)(env)) { if (!env->pending_interrupts && (*env->check_pow)(env)) {
cs->halted = 1; cs->halted = 1;
excp = EXCP_HALTED; excp = EXCP_HALTED;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册