summary refs log tree commit diff stats
path: root/include/exec/cpu-common.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-08-25 16:13:17 -0700
committerRichard Henderson <richard.henderson@linaro.org>2023-08-29 09:55:06 -0700
commit0d58c660689f6da1e3feff8a997014003d928b3b (patch)
tree081ceb163f15f146b86d9ecc64e56f85f3fd6454 /include/exec/cpu-common.h
parent86e4f93d827d3c1efd00cd8a906e38a2c0f2b5bc (diff)
downloadfocaccia-qemu-0d58c660689f6da1e3feff8a997014003d928b3b.tar.gz
focaccia-qemu-0d58c660689f6da1e3feff8a997014003d928b3b.zip
softmmu: Use async_run_on_cpu in tcg_commit
After system startup, run the update to memory_dispatch
and the tlb_flush on the cpu.  This eliminates a race,
wherein a running cpu sees the memory_dispatch change
but has not yet seen the tlb_flush.

Since the update now happens on the cpu, we need not use
qatomic_rcu_read to protect the read of memory_dispatch.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1826
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1834
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1846
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/exec/cpu-common.h')
-rw-r--r--include/exec/cpu-common.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index 87dc9a752c..41788c0bdd 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -133,7 +133,6 @@ static inline void cpu_physical_memory_write(hwaddr addr,
 {
     cpu_physical_memory_rw(addr, (void *)buf, len, true);
 }
-void cpu_reloading_memory_map(void);
 void *cpu_physical_memory_map(hwaddr addr,
                               hwaddr *plen,
                               bool is_write);