qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [COMMIT 0873898] tlb flush cleanup


From: Anthony Liguori
Subject: [Qemu-commits] [COMMIT 0873898] tlb flush cleanup
Date: Thu, 16 Jul 2009 23:12:47 -0000

From: Igor Kovalenko <address@hidden>

Use static empty variable s_cputlb_empty_entry to clear entries,
also reset addend member when clearing entries.
This helps running with valgrind/memcheck

Signed-off-by: address@hidden

--
Kind regards,
Igor V. Kovalenko
Signed-off-by: Anthony Liguori <address@hidden>

diff --git a/exec.c b/exec.c
index e5c38fa..65c89b0 100644
--- a/exec.c
+++ b/exec.c
@@ -1751,6 +1751,13 @@ static inline void tlb_flush_jmp_cache(CPUState *env, 
target_ulong addr)
            TB_JMP_PAGE_SIZE * sizeof(TranslationBlock *));
 }
 
+static CPUTLBEntry s_cputlb_empty_entry = {
+    .addr_read  = -1,
+    .addr_write = -1,
+    .addr_code  = -1,
+    .addend     = -1,
+};
+
 /* NOTE: if flush_global is true, also flush global entries (not
    implemented yet) */
 void tlb_flush(CPUState *env, int flush_global)
@@ -1767,9 +1774,7 @@ void tlb_flush(CPUState *env, int flush_global)
     for(i = 0; i < CPU_TLB_SIZE; i++) {
         int mmu_idx;
         for (mmu_idx = 0; mmu_idx < NB_MMU_MODES; mmu_idx++) {
-            env->tlb_table[mmu_idx][i].addr_read = -1;
-            env->tlb_table[mmu_idx][i].addr_write = -1;
-            env->tlb_table[mmu_idx][i].addr_code = -1;
+            env->tlb_table[mmu_idx][i] = s_cputlb_empty_entry;
         }
     }
 
@@ -1791,9 +1796,7 @@ static inline void tlb_flush_entry(CPUTLBEntry 
*tlb_entry, target_ulong addr)
                  (TARGET_PAGE_MASK | TLB_INVALID_MASK)) ||
         addr == (tlb_entry->addr_code &
                  (TARGET_PAGE_MASK | TLB_INVALID_MASK))) {
-        tlb_entry->addr_read = -1;
-        tlb_entry->addr_write = -1;
-        tlb_entry->addr_code = -1;
+        *tlb_entry = s_cputlb_empty_entry;
     }
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]