Since an OS can set LPCR_ILE we must clear it during reset. Otherwise
if we reset into an OS with a different endian we die when we take
the first exception.

This fixes an issue seen on both full emulation and KVM.

Signed-off-by: Anton Blanchard <an...@samba.org>
---

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 93d02c1..4d45197 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -739,6 +739,8 @@ static void spapr_cpu_reset(void *opaque)
 
     env->spr[SPR_HIOR] = 0;
 
+    env->spr[SPR_LPCR] &= ~LPCR_ILE;
+
     env->external_htab = (uint8_t *)spapr->htab;
     env->htab_base = -1;
     env->htab_mask = HTAB_SIZE(spapr) - 1;

Reply via email to