[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 22/37] accel/tcg: also suppress asynchronous IRQs for cpu_io_r
From: |
Alex Bennée |
Subject: |
[PATCH v2 22/37] accel/tcg: also suppress asynchronous IRQs for cpu_io_recompile |
Date: |
Tue, 14 Jan 2025 11:38:06 +0000 |
While it would be technically correct to allow an IRQ to happen (as
the offending instruction never really completed) it messes up
instrumentation. We already take care to only use memory
instrumentation on the block, we should also suppress IRQs.
Message-Id: <20250109170619.2271193-23-alex.bennee@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Julian Ganz <neither@nut.email>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Julian Ganz <neither@nut.email>
---
accel/tcg/translate-all.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
index 453eb20ec9..d56ca13cdd 100644
--- a/accel/tcg/translate-all.c
+++ b/accel/tcg/translate-all.c
@@ -633,9 +633,10 @@ void cpu_io_recompile(CPUState *cpu, uintptr_t retaddr)
* Exit the loop and potentially generate a new TB executing the
* just the I/O insns. We also limit instrumentation to memory
* operations only (which execute after completion) so we don't
- * double instrument the instruction.
+ * double instrument the instruction. Also don't let an IRQ sneak
+ * in before we execute it.
*/
- cpu->cflags_next_tb = curr_cflags(cpu) | CF_MEMI_ONLY | n;
+ cpu->cflags_next_tb = curr_cflags(cpu) | CF_MEMI_ONLY | CF_NOIRQ | n;
if (qemu_loglevel_mask(CPU_LOG_EXEC)) {
vaddr pc = cpu->cc->get_pc(cpu);
--
2.39.5
- [PATCH v2 21/37] configure: reenable plugins by default for 32-bit hosts, (continued)
- [PATCH v2 21/37] configure: reenable plugins by default for 32-bit hosts, Alex Bennée, 2025/01/14
- [PATCH v2 32/37] docs/devel: add git-publish for patch submitting, Alex Bennée, 2025/01/14
- [PATCH v2 19/37] contrib/plugins/hwprofile: fix 32-bit build, Alex Bennée, 2025/01/14
- [PATCH v2 27/37] editorconfig: update for perl scripts, Alex Bennée, 2025/01/14
- [PATCH v2 31/37] docs/sphinx: include kernel-doc script as a dependency, Alex Bennée, 2025/01/14
- [PATCH v2 20/37] contrib/plugins/hotpages: fix 32-bit build, Alex Bennée, 2025/01/14
- [PATCH v2 23/37] win32: remove usage of attribute gcc_struct, Alex Bennée, 2025/01/14
- [PATCH v2 30/37] include/exec: remove warning_printed from MemoryRegion, Alex Bennée, 2025/01/14
- [PATCH v2 22/37] accel/tcg: also suppress asynchronous IRQs for cpu_io_recompile,
Alex Bennée <=