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;