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>
This commit is contained in:
parent
abdeed06b4
commit
e1c09175bc
42
vl.c
42
vl.c
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user