]> Pileus Git - ~andy/linux/blobdiff - arch/s390/kernel/setup.c
Merge tag 'kvm-3.6-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[~andy/linux] / arch / s390 / kernel / setup.c
index 34d75b50526c471380744c1cf99718c6130e6132..743c0f32fe3beb0c508a02e81bf775f075242d08 100644 (file)
@@ -61,6 +61,7 @@
 #include <asm/kvm_virtio.h>
 #include <asm/diag.h>
 #include <asm/os_info.h>
+#include <asm/sclp.h>
 #include "entry.h"
 
 long psw_kernel_bits   = PSW_DEFAULT_KEY | PSW_MASK_BASE | PSW_ASC_PRIMARY |
@@ -136,9 +137,14 @@ __setup("condev=", condev_setup);
 
 static void __init set_preferred_console(void)
 {
-       if (MACHINE_IS_KVM)
-               add_preferred_console("hvc", 0, NULL);
-       else if (CONSOLE_IS_3215 || CONSOLE_IS_SCLP)
+       if (MACHINE_IS_KVM) {
+               if (sclp_has_vt220())
+                       add_preferred_console("ttyS", 1, NULL);
+               else if (sclp_has_linemode())
+                       add_preferred_console("ttyS", 0, NULL);
+               else
+                       add_preferred_console("hvc", 0, NULL);
+       } else if (CONSOLE_IS_3215 || CONSOLE_IS_SCLP)
                add_preferred_console("ttyS", 0, NULL);
        else if (CONSOLE_IS_3270)
                add_preferred_console("tty3270", 0, NULL);