aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2009-12-05 12:44:30 +0100
committerAurelien Jarno <aurelien@aurel32.net>2009-12-05 17:36:06 +0100
commit93d434b4aec0702b87ebf52449a3cdf2c3596825 (patch)
tree638d95f4824f7d23a8357264bab380317e33537e
parentafcb0e4559df1421dcb5df75266769e48b96b46d (diff)
Set default console to virtio on S390x
All "normal" system emulation targets in qemu I'm aware of display output on either VGA or serial output. Our S390x virtio machine doesn't have such kind of legacy hardware. So instead we need to default to a virtio console. I'm not particularly proud of this patch. It would be a lot better to have something in the machine description that tells us about the default terminal. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r--vl.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/vl.c b/vl.c
index 1981e6e744..09a0ec5cb1 100644
--- a/vl.c
+++ b/vl.c
@@ -4711,6 +4711,20 @@ int main(int argc, char **argv, char **envp)
cyls = heads = secs = 0;
translation = BIOS_ATA_TRANSLATION_AUTO;
+#ifdef TARGET_S390X
+ for(i = 0; i < MAX_SERIAL_PORTS; i++)
+ serial_devices[i] = NULL;
+ serial_device_index = 0;
+
+ for(i = 0; i < MAX_PARALLEL_PORTS; i++)
+ parallel_devices[i] = NULL;
+ parallel_device_index = 0;
+
+ virtio_consoles[0] = "mon:stdio";
+ for(i = 1; i < MAX_VIRTIO_CONSOLES; i++)
+ virtio_consoles[i] = NULL;
+ virtio_console_index = 0;
+#else
serial_devices[0] = "vc:80Cx24C";
for(i = 1; i < MAX_SERIAL_PORTS; i++)
serial_devices[i] = NULL;
@@ -4724,6 +4738,7 @@ int main(int argc, char **argv, char **envp)
for(i = 0; i < MAX_VIRTIO_CONSOLES; i++)
virtio_consoles[i] = NULL;
virtio_console_index = 0;
+#endif
monitor_devices[0] = "vc:80Cx24C";
monitor_flags[0] = MONITOR_IS_DEFAULT | MONITOR_USE_READLINE;
@@ -5640,6 +5655,17 @@ int main(int argc, char **argv, char **envp)
break;
}
}
+ for (i = 0; i < MAX_VIRTIO_CONSOLES; i++) {
+ const char *devname = virtio_consoles[i];
+ if (devname && !strcmp(devname,"mon:stdio")) {
+ monitor_devices[0] = NULL;
+ break;
+ } else if (devname && !strcmp(devname,"stdio")) {
+ monitor_devices[0] = NULL;
+ virtio_consoles[i] = "mon:stdio";
+ break;
+ }
+ }
}
if (nb_numa_nodes > 0) {