aboutsummaryrefslogtreecommitdiff
path: root/target-xtensa/op_helper.c
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2012-05-27 18:34:49 +0400
committerBlue Swirl <blauwirbel@gmail.com>2012-06-09 10:45:03 +0000
commite323bdeff28f3bd647bf02cc9df57971eff3e258 (patch)
tree6ac79491a3f9195d6f771b2ceca3f063ee4d71f3 /target-xtensa/op_helper.c
parentbbbc0e244e35cdc159f559e9d47e5941a1b35745 (diff)
downloadqemu-e323bdeff28f3bd647bf02cc9df57971eff3e258.zip
qemu-e323bdeff28f3bd647bf02cc9df57971eff3e258.tar.gz
qemu-e323bdeff28f3bd647bf02cc9df57971eff3e258.tar.bz2
target-xtensa: flush TLB page for new MMU mapping
Both old and new mappings need flushing because their VPN may be different in MMU case. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-xtensa/op_helper.c')
-rw-r--r--target-xtensa/op_helper.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target-xtensa/op_helper.c b/target-xtensa/op_helper.c
index 364dc19..ce61157 100644
--- a/target-xtensa/op_helper.c
+++ b/target-xtensa/op_helper.c
@@ -669,6 +669,7 @@ void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb,
entry->paddr = pte & xtensa_tlb_get_addr_mask(env, dtlb, wi);
entry->asid = (env->sregs[RASID] >> ((pte >> 1) & 0x18)) & 0xff;
entry->attr = pte & 0xf;
+ tlb_flush_page(env, entry->vaddr);
} else {
qemu_log("%s %d, %d, %d trying to set immutable entry\n",
__func__, dtlb, wi, ei);