diff options
author | Edgar E. Iglesias | 2013-11-21 19:06:30 +0100 |
---|---|---|
committer | Edgar E. Iglesias | 2014-02-11 13:56:43 +0100 |
commit | 33bde2e13f36b9331e35b6e531bc06e8567b4f64 (patch) | |
tree | add1e96c9534d347e3fd606c59efd13fe5d0e505 | |
parent | cpu: Add per-cpu address space (diff) | |
download | qemu-33bde2e13f36b9331e35b6e531bc06e8567b4f64.tar.gz qemu-33bde2e13f36b9331e35b6e531bc06e8567b4f64.tar.xz qemu-33bde2e13f36b9331e35b6e531bc06e8567b4f64.zip |
exec: On AS changes, only flush affected CPU TLBs
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
-rw-r--r-- | exec.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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); } } |