Message ID | 20230403144637.2949366-6-peter.maydell@linaro.org |
---|---|
State | New |
Headers | show |
Series | Deprecate/rename singlestep command line option, monitor interfaces | expand |
On 4/3/23 07:46, Peter Maydell 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.maydell@linaro.org> > --- > NB: not even compile tested! > --- > docs/user/main.rst | 7 ++++++- > bsd-user/main.c | 5 +++-- > 2 files changed, 9 insertions(+), 3 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On Mon, Apr 3, 2023 at 8:46 AM Peter Maydell <peter.maydell@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.maydell@linaro.org> > --- > NB: not even compile tested! > --- > It looks good in theory. It may even compile. If ti does: Reviewed-by: Warner Losh <imp@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 > >
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;
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> --- NB: not even compile tested! --- docs/user/main.rst | 7 ++++++- bsd-user/main.c | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-)