qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 4/5] softmmu: Add '-one-insn-per-tb' option equivalent to '-s


From: Peter Maydell
Subject: [RFC PATCH 4/5] softmmu: Add '-one-insn-per-tb' option equivalent to '-singlestep'
Date: Mon, 6 Feb 2023 17:13:58 +0000

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(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index dbe5124b5e7..61335ec7bc0 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -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:
diff --git a/qemu-options.hx b/qemu-options.hx
index 88e93c61031..184f8cc36d0 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -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, \
diff --git a/tcg/tci/README b/tcg/tci/README
index f72a40a395a..751558f2892 100644
--- a/tcg/tci/README
+++ b/tcg/tci/README
@@ -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
-- 
2.34.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]