diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2009-12-08 13:11:44 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-12-12 07:59:42 -0600 |
commit | e1c09175bc00dd8dfb2ad1b26e1858dcdc109b59 (patch) | |
tree | 912b103cdc054f83124828eb51a60cbbc4b3decf /vl.c | |
parent | abdeed06b416eefb7eb1ec65cc1b87241cb3b6d2 (diff) |
zap serial_monitor_mux
The logic in this code obviously predates the multiple monitor
capability of qemu and looks increasingly silly these days.
I think the intention of this piece of code is to get a reasonable
default for the -nographic case: have monitor and serial line muxed
on stdio.
With the new default_serial and default_monitor variables we have now
doing just that became much easier ;)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 42 |
1 files changed, 8 insertions, 34 deletions
@@ -4662,33 +4662,6 @@ static int foreach_device_config(int type, int (*func)(const char *cmdline)) return 0; } -static void serial_monitor_mux(void) -{ - struct device_config *mon0, *serial; - const char *devname; - - QTAILQ_FOREACH(mon0, &device_configs, next) { - if (mon0->type != DEV_MONITOR) - continue; - if (strcmp(mon0->cmdline,"stdio") != 0) - return; - break; - } - QTAILQ_FOREACH(serial, &device_configs, next) { - if (serial->type != DEV_SERIAL) - continue; - devname = serial->cmdline; - if (devname && !strcmp(devname,"mon:stdio")) { - QTAILQ_REMOVE(&device_configs, mon0, next); - break; - } else if (devname && !strcmp(devname,"stdio")) { - QTAILQ_REMOVE(&device_configs, mon0, next); - serial->cmdline = "mon:stdio"; - break; - } - } -} - static int serial_parse(const char *devname) { static int index = 0; @@ -5574,12 +5547,16 @@ int main(int argc, char **argv, char **envp) qemu_opts_foreach(&qemu_device_opts, default_driver_check, NULL, 0); if (display_type == DT_NOGRAPHIC) { - if (default_serial) - add_device_config(DEV_SERIAL, "stdio"); if (default_parallel) add_device_config(DEV_PARALLEL, "null"); - if (default_monitor) - add_device_config(DEV_MONITOR, "stdio"); + if (default_serial && default_monitor) { + add_device_config(DEV_SERIAL, "mon:stdio"); + } else { + if (default_serial) + add_device_config(DEV_SERIAL, "stdio"); + if (default_monitor) + add_device_config(DEV_MONITOR, "stdio"); + } } else { if (default_serial) add_device_config(DEV_SERIAL, "vc:80Cx24C"); @@ -5737,9 +5714,6 @@ int main(int argc, char **argv, char **envp) register_savevm_live("ram", 0, 3, NULL, ram_save_live, NULL, ram_load, NULL); - /* Maintain compatibility with multiple stdio monitors */ - serial_monitor_mux(); - if (nb_numa_nodes > 0) { int i; |