summaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2009-12-08 13:11:44 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-12 08:17:29 -0600
commit7c6a56cc63a4b9cfc93a8cb82646396b7439dac5 (patch)
tree90f42561e674ad0f28838337f6de037e72434913 /vl.c
parentdefault devices: qemu monitor. (diff)
downloadqemu-kvm-7c6a56cc63a4b9cfc93a8cb82646396b7439dac5.tar.gz
qemu-kvm-7c6a56cc63a4b9cfc93a8cb82646396b7439dac5.tar.bz2
qemu-kvm-7c6a56cc63a4b9cfc93a8cb82646396b7439dac5.zip
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> (cherry picked from commit e1c09175bc00dd8dfb2ad1b26e1858dcdc109b59)
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c42
1 files changed, 8 insertions, 34 deletions
diff --git a/vl.c b/vl.c
index 0d3f5e668..e3e035f45 100644
--- a/vl.c
+++ b/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;