OSDN Git Service

cris: Consider the TLB valid bit on writes to the TLB
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>
Thu, 7 Oct 2010 19:20:52 +0000 (21:20 +0200)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Thu, 7 Oct 2010 19:20:52 +0000 (21:20 +0200)
When updating the guest TLB we only need to flush previous
mappings from the entry written if the entry was valid.

Also fixes a compiler warning reported by Blue Swirl.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
target-cris/op_helper.c

index a60da94..be9eb06 100644 (file)
@@ -164,7 +164,9 @@ void helper_movl_sreg_reg (uint32_t sreg, uint32_t reg)
 
                        D_LOG("tlb flush vaddr=%x v=%d pc=%x\n", 
                                  vaddr, tlb_v, env->pc);
-                       tlb_flush_page(env, vaddr);
+                       if (tlb_v) {
+                               tlb_flush_page(env, vaddr);
+                       }
                }
        }
 #endif