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>
This commit is contained in:
Edgar E. Iglesias 2013-11-21 19:06:30 +01:00
parent 09daed848c
commit 33bde2e13f

5
exec.c
View File

@ -1828,6 +1828,11 @@ static void tcg_commit(MemoryListener *listener)
CPU_FOREACH(cpu) { CPU_FOREACH(cpu) {
CPUArchState *env = cpu->env_ptr; 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); tlb_flush(env, 1);
} }
} }