Fix infinite loop when invalidating TLB, by Herve Poussineau.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 29 Mar 2008 21:43:23 +0000 (21:43 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 29 Mar 2008 21:43:23 +0000 (21:43 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4136 c046a42c-6fe2-441c-8c8c-71466251a162

target-mips/helper.c

index 867c522..b962295 100644 (file)
@@ -630,7 +630,7 @@ void r4k_invalidate_tlb (CPUState *env, int idx, int use_extra)
         }
 #endif
         end = addr | mask;
-        while (addr < end) {
+        while (addr - 1 < end) {
             tlb_flush_page (env, addr);
             addr += TARGET_PAGE_SIZE;
         }