microblaze: Make writes to MMU_ZPR flush the TLB.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
This commit is contained in:
Edgar E. Iglesias 2009-05-27 01:19:58 +02:00
parent 6b2fce907d
commit d0f3654f83
1 changed files with 7 additions and 0 deletions

View File

@ -220,6 +220,13 @@ void mmu_write(CPUState *env, uint32_t rn, uint32_t v)
D(qemu_log("%s ram[%d][%d]=%x\n", __func__, rn & 1, i, v));
break;
case MMU_R_ZPR:
/* Changes to the zone protection reg flush the QEMU TLB.
Fortunately, these are very uncommon. */
if (v != env->mmu.regs[rn]) {
tlb_flush(env, 1);
}
env->mmu.regs[rn] = v;
break;
case MMU_R_PID:
if (v != env->mmu.regs[rn]) {
mmu_change_pid(env, v);