]> Git Repo - qemu.git/commitdiff
microblaze: Make writes to MMU_ZPR flush the TLB.
authorEdgar E. Iglesias <[email protected]>
Tue, 26 May 2009 23:19:58 +0000 (01:19 +0200)
committerEdgar E. Iglesias <[email protected]>
Tue, 26 May 2009 23:19:58 +0000 (01:19 +0200)
Signed-off-by: Edgar E. Iglesias <[email protected]>
target-microblaze/mmu.c

index 72d318384a20e483f47c75e7df9d7cc9be1fd808..d14373ce42d30874c4803e0cc6471fe3f7b47a59 100644 (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);
This page took 0.027126 seconds and 4 git commands to generate.