On Mon, Apr 3, 2023 at 8:46 AM Peter Maydell <peter.mayd...@linaro.org> wrote:
> 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.mayd...@linaro.org> > --- > NB: not even compile tested! > --- > It looks good in theory. It may even compile. If ti does: Reviewed-by: Warner Losh <i...@bsdimp.com> > docs/user/main.rst | 7 ++++++- > bsd-user/main.c | 5 +++-- > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/docs/user/main.rst b/docs/user/main.rst > index f9ac701f4b1..f4786353965 100644 > --- a/docs/user/main.rst > +++ b/docs/user/main.rst > @@ -247,5 +247,10 @@ Debug options: > ``-p pagesize`` > Act as if the host page size was 'pagesize' bytes > > +``-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. > diff --git a/bsd-user/main.c b/bsd-user/main.c > index a9e5a127d38..9d604a670b7 100644 > --- a/bsd-user/main.c > +++ b/bsd-user/main.c > @@ -162,7 +162,8 @@ static void usage(void) > "-d item1[,...] enable logging of specified items\n" > " (use '-d help' for a list of log items)\n" > "-D logfile write logs to 'logfile' (default stderr)\n" > - "-singlestep always run in singlestep mode\n" > + "-one-insn-per-tb run with one guest instruction per emulated > TB\n" > + "-singlestep deprecated synonym for -one-insn-per-tb\n" > "-strace log system calls\n" > "-trace > [[enable=]<pattern>][,events=<file>][,file=<file>]\n" > " specify tracing options\n" > @@ -385,7 +386,7 @@ int main(int argc, char **argv) > (void) envlist_unsetenv(envlist, "LD_PRELOAD"); > } else if (!strcmp(r, "seed")) { > seed_optarg = optarg; > - } else if (!strcmp(r, "singlestep")) { > + } else if (!strcmp(r, "singlestep") || !strcmp(r, > "one-insn-per-tb") { > opt_one_insn_per_tb = true; > } else if (!strcmp(r, "strace")) { > do_strace = 1; > -- > 2.34.1 > >