Add -mon switch which maps pretty straight forward into the QemuOpts
internal representation:

  -mon chardev=<name>[,mode=[control|readline]][,[no]default]

Via config file:

[mon]
   chardev = "<name>"
   mode = "readline"
   default = "on"

Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
---
 qemu-options.hx |    7 +++++++
 vl.c            |    8 ++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/qemu-options.hx b/qemu-options.hx
index e05b2a0..7234447 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1589,6 +1589,13 @@ The default device is @code{vc} in graphical mode and 
@code{stdio} in
 non graphical mode.
 ETEXI
 
+DEF("mon", HAS_ARG, QEMU_OPTION_mon, \
+    "-mon chardev=[name][,mode=readline|control][,default]\n")
+STEXI
+...@item -mon chardev=[name][,mode=readline|control][,default]
+Setup monitor on chardev @var{name}.
+ETEXI
+
 DEF("pidfile", HAS_ARG, QEMU_OPTION_pidfile, \
     "-pidfile file   write PID to 'file'\n")
 STEXI
diff --git a/vl.c b/vl.c
index bb9ffd3..d90975f 100644
--- a/vl.c
+++ b/vl.c
@@ -5284,6 +5284,14 @@ int main(int argc, char **argv, char **envp)
                 monitor_parse(optarg);
                 default_monitor = 0;
                 break;
+            case QEMU_OPTION_mon:
+                opts = qemu_opts_parse(&qemu_mon_opts, optarg, "chardev");
+                if (!opts) {
+                    fprintf(stderr, "parse error: %s\n", optarg);
+                    exit(1);
+                }
+                default_monitor = 0;
+                break;
             case QEMU_OPTION_chardev:
                 opts = qemu_opts_parse(&qemu_chardev_opts, optarg, "backend");
                 if (!opts) {
-- 
1.6.5.2



Reply via email to