aboutsummaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2009-12-08 13:11:54 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-12 08:17:30 -0600
commit828b2ff6769ff8e8d294e0c7b77472f985476a9f (patch)
treedb7c8d7978ca15148ec1d76eb7a7eae06a4e2718 /vl.c
parentdefault devices: virtio consoles. (diff)
downloadqemu-kvm-828b2ff6769ff8e8d294e0c7b77472f985476a9f.tar.gz
qemu-kvm-828b2ff6769ff8e8d294e0c7b77472f985476a9f.tar.bz2
qemu-kvm-828b2ff6769ff8e8d294e0c7b77472f985476a9f.zip
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. Add flags to QEMUMachine to indicate which kind of default devices make sense for the machine in question. Use it for S390x: enable virtcon, disable serial, parallel and vga. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 986c5f78543bdbd696664447ecdd08cf6d935370)
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/vl.c b/vl.c
index b4138be0e..d02893173 100644
--- a/vl.c
+++ b/vl.c
@@ -270,7 +270,7 @@ static void *boot_set_opaque;
static int default_serial = 1;
static int default_parallel = 1;
-static int default_virtcon = 0;
+static int default_virtcon = 1;
static int default_monitor = 1;
static int default_vga = 1;
static int default_drive = 1;
@@ -5629,14 +5629,31 @@ int main(int argc, char **argv, char **envp)
qemu_opts_foreach(&qemu_device_opts, default_driver_check, NULL, 0);
+ if (machine->no_serial) {
+ default_serial = 0;
+ }
+ if (machine->no_parallel) {
+ default_parallel = 0;
+ }
+ if (!machine->use_virtcon) {
+ default_virtcon = 0;
+ }
+ if (machine->no_vga) {
+ default_vga = 0;
+ }
+
if (display_type == DT_NOGRAPHIC) {
if (default_parallel)
add_device_config(DEV_PARALLEL, "null");
if (default_serial && default_monitor) {
add_device_config(DEV_SERIAL, "mon:stdio");
+ } else if (default_virtcon && default_monitor) {
+ add_device_config(DEV_VIRTCON, "mon:stdio");
} else {
if (default_serial)
add_device_config(DEV_SERIAL, "stdio");
+ if (default_virtcon)
+ add_device_config(DEV_VIRTCON, "stdio");
if (default_monitor)
monitor_parse("stdio", "readline");
}