diff --git a/target-ppc/helper.c b/target-ppc/helper.c index ea672bb4a2..0ffa28ea7d 100644 --- a/target-ppc/helper.c +++ b/target-ppc/helper.c @@ -735,7 +735,8 @@ void ppc_slb_invalidate_all (CPUPPCState *env) do_invalidate = 0; sr_base = env->spr[SPR_ASR]; - for (n = 0; n < env->slb_nr; n++) { + /* XXX: Warning: slbia never invalidates the first segment */ + for (n = 1; n < env->slb_nr; n++) { tmp64 = ldq_phys(sr_base); if (slb_is_valid(tmp64)) { slb_invalidate(&tmp64);