From d49f626ed00cecc90fb1ff88da9bdf11e57094d1 Mon Sep 17 00:00:00 2001 From: Anthony Liguori Date: Wed, 17 Mar 2010 14:52:30 -0500 Subject: [PATCH] qmp: don't make -qmp disable the default monitor Instead, we introduce a default_qmp flag. We don't use it yet, but will in the next patch. This has a user-visible impact as specifying just -qmp will now also show a monitor on the 'vc'. Signed-off-by: Anthony Liguori --- vl.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/vl.c b/vl.c index eda96aaa6c..e14f45eaee 100644 --- a/vl.c +++ b/vl.c @@ -273,6 +273,7 @@ static int default_vga = 1; static int default_floppy = 1; static int default_cdrom = 1; static int default_sdcard = 1; +static int default_qmp = 1; static struct { const char *driver; @@ -4269,15 +4270,22 @@ int main(int argc, char **argv, char **envp) break; case QEMU_OPTION_qmp: monitor_parse(optarg, "control"); - default_monitor = 0; + default_qmp = 0; break; case QEMU_OPTION_mon: opts = qemu_opts_parse(&qemu_mon_opts, optarg, 1); if (!opts) { fprintf(stderr, "parse error: %s\n", optarg); exit(1); + } else { + const char *mode; + mode = qemu_opt_get(opts, "mode"); + if (mode == NULL || strcmp(mode, "readline") == 0) { + default_monitor = 0; + } else if (strcmp(mode, "control") == 0) { + default_qmp = 0; + } } - default_monitor = 0; break; case QEMU_OPTION_chardev: opts = qemu_opts_parse(&qemu_chardev_opts, optarg, 1); @@ -4515,6 +4523,7 @@ int main(int argc, char **argv, char **envp) default_parallel = 0; default_virtcon = 0; default_monitor = 0; + default_qmp = 0; default_vga = 0; default_net = 0; default_floppy = 0;