@@ -2957,6 +2957,7 @@ void qemu_init(int argc, char **argv)
qdict_put_str(machine_opts_dict, "firmware", optarg);
break;
case QEMU_OPTION_singlestep:
+ case QEMU_OPTION_one_insn_per_tb:
one_insn_per_tb = 1;
break;
case QEMU_OPTION_S:
@@ -4158,11 +4158,21 @@ SRST
from a script.
ERST
+DEF("one-insn-per-tb", 0, QEMU_OPTION_one_insn_per_tb, \
+ "-one-insn-per-tb run with one guest instruction per emulated TB\n", QEMU_ARCH_ALL)
+SRST
+``-one-insn-per-tb``
+ Run the emulation with one guest instruction per translation block.
+ This slows down emulation a lot, but can be useful in some situations,
+ such as when trying to analyse the logs produced by the ``-d`` option.
+ This only has an effect when using TCG, not with KVM or other accelerators.
+ERST
+
DEF("singlestep", 0, QEMU_OPTION_singlestep, \
- "-singlestep always run in singlestep mode\n", QEMU_ARCH_ALL)
+ "-singlestep deprecated synonym for -one-insn-per-tb\n", QEMU_ARCH_ALL)
SRST
``-singlestep``
- Run the emulation in single step mode.
+ This is a deprecated synonym for the -one-insn-per-tb option.
ERST
DEF("preconfig", 0, QEMU_OPTION_preconfig, \
@@ -49,7 +49,7 @@ The only difference from running QEMU with TCI to running without TCI
should be speed. Especially during development of TCI, it was very
useful to compare runs with and without TCI. Create /tmp/qemu.log by
- qemu-system-i386 -d in_asm,op_opt,cpu -D /tmp/qemu.log -singlestep
+ qemu-system-i386 -d in_asm,op_opt,cpu -D /tmp/qemu.log -one-insn-per-tb
once with interpreter and once without interpreter and compare the resulting
qemu.log files. This is also useful to see the effects of additional
The '-singlestep' option is confusing, because it doesn't actually 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. Create a new command line argument -one-insn-per-tb, so we can document that -singlestep is just a deprecated synonym for it, and eventually perhaps drop it. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- softmmu/vl.c | 1 + qemu-options.hx | 14 ++++++++++++-- tcg/tci/README | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-)