diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-11-19 22:04:21 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-11-19 22:04:21 +0000 |
commit | afa05eb15e71a0cca62bd75b5424119419b8a074 (patch) | |
tree | a9a67724ec6c9df4e301232ec4bd4fa3abe886fb /target-i386 | |
parent | de5eaa6452e8bace2251592475459f6d0fde2c15 (diff) |
always completely redefine the TLB in case of MMU fault
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@466 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/helper2.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/target-i386/helper2.c b/target-i386/helper2.c index fb8f254d4b..9abf7ffc7f 100644 --- a/target-i386/helper2.c +++ b/target-i386/helper2.c @@ -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); |