mirror of https://gitee.com/openkylin/qemu.git
2726627197
The function notdirty_mem_write() has a sequence of actions it has to do before and after the actual business of writing data to host RAM to ensure that dirty flags are correctly updated and we flush any TCG translations for the region. We need to do this also in other places that write directly to host RAM, most notably the TCG atomic helper functions. Pull out the before and after pieces into their own functions. We use an API where the prepare function stashes the various bits of information about the write into a struct for the complete function to use, because in the calls for the atomic helpers the place where the complete function will be called doesn't have the information to hand. Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1511201308-23580-2-git-send-email-peter.maydell@linaro.org |
||
---|---|---|
.. | ||
user | ||
address-spaces.h | ||
cpu-all.h | ||
cpu-common.h | ||
cpu-defs.h | ||
cpu_ldst.h | ||
cpu_ldst_template.h | ||
cpu_ldst_useronly_template.h | ||
cputlb.h | ||
exec-all.h | ||
gdbstub.h | ||
gen-icount.h | ||
helper-gen.h | ||
helper-head.h | ||
helper-proto.h | ||
helper-tcg.h | ||
hwaddr.h | ||
ioport.h | ||
log.h | ||
memattrs.h | ||
memory-internal.h | ||
memory.h | ||
poison.h | ||
ram_addr.h | ||
ramlist.h | ||
semihost.h | ||
softmmu-semi.h | ||
target_page.h | ||
tb-context.h | ||
tb-hash-xx.h | ||
tb-hash.h | ||
tb-lookup.h | ||
translator.h |