]> git.proxmox.com Git - mirror_qemu.git/blobdiff - exec.c
exec: On AS changes, only flush affected CPU TLBs
[mirror_qemu.git] / exec.c
diff --git a/exec.c b/exec.c
index cd931c1e8e0facf43340d655fc9e24af261e36d5..5e2d1211e7f9bfef0a31d3c0bb6a9186501a9f49 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -1828,6 +1828,11 @@ static void tcg_commit(MemoryListener *listener)
     CPU_FOREACH(cpu) {
         CPUArchState *env = cpu->env_ptr;
 
+        /* FIXME: Disentangle the cpu.h circular files deps so we can
+           directly get the right CPU from listener.  */
+        if (cpu->tcg_as_listener != listener) {
+            continue;
+        }
         tlb_flush(env, 1);
     }
 }