]> git.proxmox.com Git - mirror_qemu.git/commit
make one-insn-per-tb an accel option
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 17 Apr 2023 16:40:32 +0000 (17:40 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 2 May 2023 14:47:40 +0000 (15:47 +0100)
commit3cfb0456c352288d5104a89cceb25f7dcda5d4c0
tree88300ae6108ad7e01b6bae20d1c03e1973e0b75f
parentf802ff1e281eac50f2b4b177b180be97e80da21f
make one-insn-per-tb an accel option

This commit adds 'one-insn-per-tb' as a property on the TCG
accelerator object, so you can enable it with
   -accel tcg,one-insn-per-tb=on

It has the same behaviour as the existing '-singlestep' command line
option.  We use a different name because 'singlestep' has always been
a confusing choice, because it doesn't have anything to do with
single-stepping the CPU.  What it does do is force TCG emulation to
put one guest instruction in each TB, which can be useful in some
situations (such as analysing debug logs).

The existing '-singlestep' commandline options are decoupled from the
global 'singlestep' variable and instead now are syntactic sugar for
setting the accel property.  (These can then go away after a
deprecation period.)

The global variable remains for the moment as:
 * what the TCG code looks at to change its behaviour
 * what HMP and QMP use to query and set the behaviour

In the following commits we'll clean those up to not directly
look at the global variable.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230417164041.684562-2-peter.maydell@linaro.org
accel/tcg/tcg-all.c
bsd-user/main.c
linux-user/main.c
qemu-options.hx
softmmu/vl.c