summary refs log tree commit diff stats
path: root/hmp-commands.hx
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2023-04-17 17:40:39 +0100
committerPeter Maydell <peter.maydell@linaro.org>2023-05-02 15:47:40 +0100
commite9ccfdd91d7c7752846812c8cda015eee91e728d (patch)
treefdbf0da13415ed33805248faba9bbd3b1d6528af /hmp-commands.hx
parente726acd5b8e208b8e1fec54294e287f561c8f902 (diff)
downloadfocaccia-qemu-e9ccfdd91d7c7752846812c8cda015eee91e728d.tar.gz
focaccia-qemu-e9ccfdd91d7c7752846812c8cda015eee91e728d.zip
hmp: Add 'one-insn-per-tb' command equivalent to 'singlestep'
The 'singlestep' HMP command 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 HMP command  'one-insn-per-tb', so we can document that
'singlestep' is just a deprecated synonym for it, and eventually
perhaps drop it.

We aren't obliged to do deprecate-and-drop for HMP commands,
but it's easy enough to do so, so we do.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20230417164041.684562-9-peter.maydell@linaro.org
Diffstat (limited to 'hmp-commands.hx')
-rw-r--r--hmp-commands.hx25
1 files changed, 21 insertions, 4 deletions
diff --git a/hmp-commands.hx b/hmp-commands.hx
index bb85ee1d26..9afbb54a51 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -379,17 +379,34 @@ SRST
 ERST
 
     {
+        .name       = "one-insn-per-tb",
+        .args_type  = "option:s?",
+        .params     = "[on|off]",
+        .help       = "run emulation with one guest instruction per translation block",
+        .cmd        = hmp_one_insn_per_tb,
+    },
+
+SRST
+``one-insn-per-tb [off]``
+  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.
+
+  If called with option off, the emulation returns to normal mode.
+ERST
+
+    {
         .name       = "singlestep",
         .args_type  = "option:s?",
         .params     = "[on|off]",
-        .help       = "run emulation in singlestep mode or switch to normal mode",
-        .cmd        = hmp_singlestep,
+        .help       = "deprecated synonym for one-insn-per-tb",
+        .cmd        = hmp_one_insn_per_tb,
     },
 
 SRST
 ``singlestep [off]``
-  Run the emulation in single step mode.
-  If called with option off, the emulation returns to normal mode.
+  This is a deprecated synonym for the one-insn-per-tb command.
 ERST
 
     {