always completely redefine the TLB in case of MMU fault
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 19 Nov 2003 22:04:21 +0000 (22:04 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 19 Nov 2003 22:04:21 +0000 (22:04 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@466 c046a42c-6fe2-441c-8c8c-71466251a162

target-i386/helper2.c

index fb8f254d4b8194eec21f151d6e9b62788737ba41..9abf7ffc7f8b8ca07305e519dee83c4eb025f5a7 100644 (file)
@@ -400,6 +400,9 @@ int cpu_x86_handle_mmu_fault(CPUX86State *env, uint32_t addr,
         if (prot & PROT_WRITE) {
             env->tlb_write[is_user][index].address = address;
             env->tlb_write[is_user][index].addend = addend;
+        } else {
+            env->tlb_write[is_user][index].address = -1;
+            env->tlb_write[is_user][index].addend = -1;
         }
         page_set_flags(vaddr, vaddr + TARGET_PAGE_SIZE, 
                        PAGE_VALID | PAGE_EXEC | prot);