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


Reply via email to