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 <aliguori@us.ibm.com>
This commit is contained in:
Anthony Liguori 2010-03-17 14:52:30 -05:00
parent 8af8ce4d61
commit d49f626ed0
1 changed files with 11 additions and 2 deletions

13
vl.c
View File

@ -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;