OSDN Git Service

accel/tcg: Use one_insn_per_tb global instead of old singlestep global
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 17 Apr 2023 16:40:34 +0000 (17:40 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 2 May 2023 14:47:40 +0000 (15:47 +0100)
commit0e33928cd9b445b2331122154ebe8679aa2ff86e
treebf31edacab8ca76057d3c75f8b7ed558b16dcbfa
parent93cbd6c91db6bb4e44580118865862f716338f14
accel/tcg: Use one_insn_per_tb global instead of old singlestep global

The only place left that looks at the old 'singlestep' global
variable is the TCG curr_cflags() function.  Replace the old global
with a new 'one_insn_per_tb' which is defined in tcg-all.c and
declared in accel/tcg/internal.h.  This keeps it restricted to the
TCG code, unlike 'singlestep' which was available to every file in
the system and defined in multiple different places for softmmu vs
linux-user vs bsd-user.

While we're making this change, use qatomic_read() and qatomic_set()
on the accesses to the new global, because TCG will read it without
holding a lock.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20230417164041.684562-4-peter.maydell@linaro.org
accel/tcg/cpu-exec.c
accel/tcg/internal.h
accel/tcg/tcg-all.c
bsd-user/main.c
include/exec/cpu-common.h
linux-user/main.c
softmmu/globals.c