Signed-off-by: Nicholas Piggin <npig...@gmail.com> --- target-ppc/excp_helper.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/target-ppc/excp_helper.c b/target-ppc/excp_helper.c index 53c4075..477af10 100644 --- a/target-ppc/excp_helper.c +++ b/target-ppc/excp_helper.c @@ -390,9 +390,13 @@ static inline void powerpc_excp(PowerPCCPU *cpu, int excp_model, int excp) /* indicate that we resumed from power save mode */ msr |= 0x10000; new_msr |= ((target_ulong)1 << MSR_ME); + new_msr |= (target_ulong)MSR_HVB; + } else { + /* The ISA specifies the HV bit is set when the hardware interrupt + * is raised, however when hypervisors deliver the exception to + * guests, it should not be set. + */ } - - new_msr |= (target_ulong)MSR_HVB; ail = 0; break; case POWERPC_EXCP_DSEG: /* Data segment exception */ -- 2.9.3