linux-user: Add '-one-insn-per-tb' option equivalent to '-singlestep'
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> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20230417164041.684562-5-peter.maydell@linaro.org
This commit is contained in:
parent
0e33928cd9
commit
e99c1f89b2
@ -93,8 +93,13 @@ Debug options:
|
|||||||
``-g port``
|
``-g port``
|
||||||
Wait gdb connection to 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``
|
``-singlestep``
|
||||||
Run the emulation in single step mode.
|
This is a deprecated synonym for the ``-one-insn-per-tb`` option.
|
||||||
|
|
||||||
Environment variables:
|
Environment variables:
|
||||||
|
|
||||||
|
@ -409,7 +409,7 @@ static void handle_arg_reserved_va(const char *arg)
|
|||||||
reserved_va = val ? val - 1 : 0;
|
reserved_va = val ? val - 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handle_arg_singlestep(const char *arg)
|
static void handle_arg_one_insn_per_tb(const char *arg)
|
||||||
{
|
{
|
||||||
opt_one_insn_per_tb = true;
|
opt_one_insn_per_tb = true;
|
||||||
}
|
}
|
||||||
@ -500,8 +500,11 @@ static const struct qemu_argument arg_table[] = {
|
|||||||
"logfile", "write logs to 'logfile' (default stderr)"},
|
"logfile", "write logs to 'logfile' (default stderr)"},
|
||||||
{"p", "QEMU_PAGESIZE", true, handle_arg_pagesize,
|
{"p", "QEMU_PAGESIZE", true, handle_arg_pagesize,
|
||||||
"pagesize", "set the host page size to 'pagesize'"},
|
"pagesize", "set the host page size to 'pagesize'"},
|
||||||
{"singlestep", "QEMU_SINGLESTEP", false, handle_arg_singlestep,
|
{"one-insn-per-tb",
|
||||||
"", "run in singlestep mode"},
|
"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,
|
{"strace", "QEMU_STRACE", false, handle_arg_strace,
|
||||||
"", "log system calls"},
|
"", "log system calls"},
|
||||||
{"seed", "QEMU_RAND_SEED", true, handle_arg_seed,
|
{"seed", "QEMU_RAND_SEED", true, handle_arg_seed,
|
||||||
|
Loading…
Reference in New Issue
Block a user