Commit 2c1ee068b469ef5dcd8ea8f9220256a737e2b810
1 parent
88ad920b
Bugfix: PowerPC 64 slbia never invalidates the first segment entry.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3445 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
1 deletions
target-ppc/helper.c
@@ -735,7 +735,8 @@ void ppc_slb_invalidate_all (CPUPPCState *env) | @@ -735,7 +735,8 @@ void ppc_slb_invalidate_all (CPUPPCState *env) | ||
735 | 735 | ||
736 | do_invalidate = 0; | 736 | do_invalidate = 0; |
737 | sr_base = env->spr[SPR_ASR]; | 737 | sr_base = env->spr[SPR_ASR]; |
738 | - for (n = 0; n < env->slb_nr; n++) { | 738 | + /* XXX: Warning: slbia never invalidates the first segment */ |
739 | + for (n = 1; n < env->slb_nr; n++) { | ||
739 | tmp64 = ldq_phys(sr_base); | 740 | tmp64 = ldq_phys(sr_base); |
740 | if (slb_is_valid(tmp64)) { | 741 | if (slb_is_valid(tmp64)) { |
741 | slb_invalidate(&tmp64); | 742 | slb_invalidate(&tmp64); |