[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
- [RFC PATCH 0/5] Deprecate/rename singlestep command line option, Peter Maydell, 2023/02/06
- [RFC PATCH 5/5] hmp: Add 'one-insn-per-tb' command equivalent to 'singlestep', Peter Maydell, 2023/02/06
- [RFC PATCH 2/5] linux-user: Add '-one-insn-per-tb' option equivalent to '-singlestep', Peter Maydell, 2023/02/06
- [RFC PATCH 3/5] bsd-user: Add '-one-insn-per-tb' option equivalent to '-singlestep', Peter Maydell, 2023/02/06
- [RFC PATCH 1/5] Rename the singlestep global variable to one_insn_per_tb, Peter Maydell, 2023/02/06
- [RFC PATCH 4/5] softmmu: Add '-one-insn-per-tb' option equivalent to '-singlestep',
Peter Maydell <=
- Re: [RFC PATCH 0/5] Deprecate/rename singlestep command line option, Richard Henderson, 2023/02/06
- Re: [RFC PATCH 0/5] Deprecate/rename singlestep command line option, Thomas Huth, 2023/02/06
- Re: [RFC PATCH 0/5] Deprecate/rename singlestep command line option, Markus Armbruster, 2023/02/07