Use new qemu_for_each_cpu(). Signed-off-by: Andreas Färber <afaer...@suse.de> --- exec.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/exec.c b/exec.c index e14a815..91618fb 100644 --- a/exec.c +++ b/exec.c @@ -1705,16 +1705,19 @@ static void core_begin(MemoryListener *listener) phys_section_watch = dummy_section(&io_mem_watch); } -static void tcg_commit(MemoryListener *listener) +static void tcg_commit_one(CPUState *cpu, void *data) { - CPUArchState *env; + CPUArchState *env = cpu->env_ptr; + + tlb_flush(env, 1); +} +static void tcg_commit(MemoryListener *listener) +{ /* since each CPU stores ram addresses in its TLB cache, we must reset the modified entries */ /* XXX: slow ! */ - for(env = first_cpu; env != NULL; env = env->next_cpu) { - tlb_flush(env, 1); - } + qemu_for_each_cpu(tcg_commit_one, NULL); } static void core_log_global_start(MemoryListener *listener) -- 1.8.1.4