summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2012-05-27 18:34:49 +0400
committerMichael Roth <mdroth@linux.vnet.ibm.com>2012-06-25 08:47:58 -0500
commit6514fe50471ca277c461435b17771e91c115b010 (patch)
tree1bce21a2fdb749628817e4531684d105b5bc13c4
parentc63c453889d0bfbd183da686bc076590220fd44a (diff)
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> (cherry picked from commit e323bdeff28f3bd647bf02cc9df57971eff3e258) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-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 364dc19bc..ce61157c9 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);