d9ec18a0fc
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>
(cherry picked from commit
|
||
---|---|---|
.. | ||
arch_init.c | ||
balloon.c | ||
bootdevice.c | ||
cpu-throttle.c | ||
cpu-timers.c | ||
cpus.c | ||
datadir.c | ||
device_tree.c | ||
dirtylimit.c | ||
dma-helpers.c | ||
globals.c | ||
icount.c | ||
ioport.c | ||
main.c | ||
memory_mapping.c | ||
memory.c | ||
meson.build | ||
physmem.c | ||
qdev-monitor.c | ||
qemu-seccomp.c | ||
qtest.c | ||
rtc.c | ||
runstate-action.c | ||
runstate-hmp-cmds.c | ||
runstate.c | ||
timers-state.h | ||
tpm-hmp-cmds.c | ||
tpm.c | ||
trace-events | ||
trace.h | ||
vl.c | ||
watchpoint.c |