qemu/accel/tcg
Alex Bennée aff0e204cb accel/tcg: suppress IRQ check for special TBs
When we set cpu->cflags_next_tb it is because we want to carefully
control the execution of the next TB. Currently there is a race that
causes the second stage of watchpoint handling to get ignored if an
IRQ is processed before we finish executing the instruction that
triggers the watchpoint. Use the new CF_NOIRQ facility to avoid the
race.

We also suppress IRQs when handling precise self modifying code to
avoid unnecessary bouncing.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/245
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211129140932.4115115-3-alex.bennee@linaro.org>
2021-11-29 15:12:37 +00:00
..
atomic_common.c.inc trace: Split guest_mem_before 2021-10-05 16:53:17 -07:00
atomic_template.h trace: Split guest_mem_before 2021-10-05 16:53:17 -07:00
cpu-exec-common.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
cpu-exec.c accel/tcg: suppress IRQ check for special TBs 2021-11-29 15:12:37 +00:00
cputlb.c tcg: Move helper_*_mmu decls to tcg/tcg-ldst.h 2021-10-13 08:46:42 -07:00
hmp.c qapi: introduce x-query-opcount QMP command 2021-11-02 15:57:20 +00:00
internal.h accel/tcg: Merge tcg_exec_init into tcg_init_machine 2021-06-11 09:26:28 -07:00
ldst_common.c.inc accel/tcg: Add cpu_{ld,st}*_mmu interfaces 2021-10-13 08:09:53 -07:00
meson.build meson: remove useless libdl test 2021-11-16 16:19:53 +00:00
plugin-gen.c plugins: try and make plugin_insn_append more ergonomic 2021-11-04 10:32:01 +00:00
plugin-helpers.h accel/tcg: Add tcg call flags to plugins helpers 2021-06-19 08:51:11 -07:00
tb-context.h tcg: Move tb_phys_invalidate_count to tb_ctx 2021-07-09 09:38:33 -07:00
tb-hash.h accel/tcg: Keep TranslationBlock headers local to TCG 2021-05-26 15:33:59 -07:00
tcg-accel-ops-icount.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
tcg-accel-ops-icount.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-mttcg.c accel/tcg: Register a force_rcu notifier 2021-11-10 13:20:15 +01:00
tcg-accel-ops-mttcg.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-rr.c accel/tcg: Register a force_rcu notifier 2021-11-10 13:20:15 +01:00
tcg-accel-ops-rr.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops.c accel: add tcg module annotations 2021-07-09 18:21:33 +02:00
tcg-accel-ops.h accel/tcg: Precompute curr_cflags into cpu->tcg_cflags 2021-03-06 11:53:57 -08:00
tcg-all.c accel: add tcg module annotations 2021-07-09 18:21:33 +02:00
tcg-runtime-gvec.c accel/tcg: Use add/sub overflow routines in tcg-runtime-gvec.c 2021-05-16 07:13:51 -05:00
tcg-runtime.c accel/tcg: Move helper_lookup_tb_ptr to cpu-exec.c 2021-07-09 20:23:06 -07:00
tcg-runtime.h accel/tcg: Standardize atomic helpers on softmmu api 2021-07-21 07:45:38 -10:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
translate-all.c accel/tcg: suppress IRQ check for special TBs 2021-11-29 15:12:37 +00:00
translator.c plugins: try and make plugin_insn_append more ergonomic 2021-11-04 10:32:01 +00:00
user-exec-stub.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
user-exec.c tcg: Add helper_unaligned_{ld,st} for user-only sigbus 2021-11-02 07:00:52 -04:00