summary refs log tree commit diff stats
path: root/accel/tcg/cpu-exec-common.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-03-15 17:43:10 +0000
committerAlex Bennée <alex.bennee@linaro.org>2023-03-22 15:06:57 +0000
commite04660afef2ac15d84ae941841da451c41d81607 (patch)
treefce32aea8676c0ee086bede2d9f0a9cdc300c3af /accel/tcg/cpu-exec-common.c
parentfb3af2d182b1aaba87fc1f26a0740bae0c7e2698 (diff)
downloadfocaccia-qemu-e04660afef2ac15d84ae941841da451c41d81607.tar.gz
focaccia-qemu-e04660afef2ac15d84ae941841da451c41d81607.zip
tcg: Clear plugin_mem_cbs on TB exit
Do this in cpu_tb_exec (normal exit) and cpu_loop_exit (exception),
adjacent to where we reset can_do_io.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1381
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230310195252.210956-2-richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230315174331.2959-12-alex.bennee@linaro.org>
Reviewed-by: Emilio Cota <cota@braap.org>
Diffstat (limited to 'accel/tcg/cpu-exec-common.c')
-rw-r--r--accel/tcg/cpu-exec-common.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/accel/tcg/cpu-exec-common.c b/accel/tcg/cpu-exec-common.c
index c7bc8c6efa..176ea57281 100644
--- a/accel/tcg/cpu-exec-common.c
+++ b/accel/tcg/cpu-exec-common.c
@@ -65,6 +65,8 @@ void cpu_loop_exit(CPUState *cpu)
 {
     /* Undo the setting in cpu_tb_exec.  */
     cpu->can_do_io = 1;
+    /* Undo any setting in generated code.  */
+    qemu_plugin_disable_mem_helpers(cpu);
     siglongjmp(cpu->jmp_env, 1);
 }