[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 2/5] linux-user: Add '-one-insn-per-tb' option equivalent to
From: |
Peter Maydell |
Subject: |
[RFC PATCH 2/5] linux-user: Add '-one-insn-per-tb' option equivalent to '-singlestep' |
Date: |
Mon, 6 Feb 2023 17:13:56 +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>
---
docs/user/main.rst | 7 ++++++-
linux-user/main.c | 9 ++++++---
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/docs/user/main.rst b/docs/user/main.rst
index 6f2ffa080f7..f9ac701f4b1 100644
--- a/docs/user/main.rst
+++ b/docs/user/main.rst
@@ -93,8 +93,13 @@ Debug options:
``-g port``
Wait gdb connection to port
+``-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.
+
``-singlestep``
- Run the emulation in single step mode.
+ This is a deprecated synonym for the ``-one-insn-per-tb`` option.
Environment variables:
diff --git a/linux-user/main.c b/linux-user/main.c
index 99bcd542b42..41089e51cea 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -395,7 +395,7 @@ static void handle_arg_reserved_va(const char *arg)
}
}
-static void handle_arg_singlestep(const char *arg)
+static void handle_arg_one_insn_per_tb(const char *arg)
{
one_insn_per_tb = 1;
}
@@ -486,8 +486,11 @@ static const struct qemu_argument arg_table[] = {
"logfile", "write logs to 'logfile' (default stderr)"},
{"p", "QEMU_PAGESIZE", true, handle_arg_pagesize,
"pagesize", "set the host page size to 'pagesize'"},
- {"singlestep", "QEMU_SINGLESTEP", false, handle_arg_singlestep,
- "", "run in singlestep mode"},
+ {"one-insn-per-tb",
+ "QEMU_ONE_INSN_PER_TB", false, handle_arg_one_insn_per_tb,
+ "", "run with one guest instruction per emulated TB"},
+ {"singlestep", "QEMU_SINGLESTEP", false, handle_arg_one_insn_per_tb,
+ "", "deprecated synonym for -one-insn-per-tb"},
{"strace", "QEMU_STRACE", false, handle_arg_strace,
"", "log system calls"},
{"seed", "QEMU_RAND_SEED", true, handle_arg_seed,
--
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 <=
- [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, 2023/02/06
- 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