diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2012-05-27 18:34:49 +0400 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2012-06-09 10:45:03 +0000 |
commit | e323bdeff28f3bd647bf02cc9df57971eff3e258 (patch) | |
tree | 6ac79491a3f9195d6f771b2ceca3f063ee4d71f3 | |
parent | bbbc0e244e35cdc159f559e9d47e5941a1b35745 (diff) | |
download | hqemu-e323bdeff28f3bd647bf02cc9df57971eff3e258.zip hqemu-e323bdeff28f3bd647bf02cc9df57971eff3e258.tar.gz |
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>
-rw-r--r-- | target-xtensa/op_helper.c | 1 |
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); |