diff options
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r-- | arch/s390/kernel/setup.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 34d75b50526c..743c0f32fe3b 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -61,6 +61,7 @@ | |||
61 | #include <asm/kvm_virtio.h> | 61 | #include <asm/kvm_virtio.h> |
62 | #include <asm/diag.h> | 62 | #include <asm/diag.h> |
63 | #include <asm/os_info.h> | 63 | #include <asm/os_info.h> |
64 | #include <asm/sclp.h> | ||
64 | #include "entry.h" | 65 | #include "entry.h" |
65 | 66 | ||
66 | long psw_kernel_bits = PSW_DEFAULT_KEY | PSW_MASK_BASE | PSW_ASC_PRIMARY | | 67 | long psw_kernel_bits = PSW_DEFAULT_KEY | PSW_MASK_BASE | PSW_ASC_PRIMARY | |
@@ -136,9 +137,14 @@ __setup("condev=", condev_setup); | |||
136 | 137 | ||
137 | static void __init set_preferred_console(void) | 138 | static void __init set_preferred_console(void) |
138 | { | 139 | { |
139 | if (MACHINE_IS_KVM) | 140 | if (MACHINE_IS_KVM) { |
140 | add_preferred_console("hvc", 0, NULL); | 141 | if (sclp_has_vt220()) |
141 | else if (CONSOLE_IS_3215 || CONSOLE_IS_SCLP) | 142 | add_preferred_console("ttyS", 1, NULL); |
143 | else if (sclp_has_linemode()) | ||
144 | add_preferred_console("ttyS", 0, NULL); | ||
145 | else | ||
146 | add_preferred_console("hvc", 0, NULL); | ||
147 | } else if (CONSOLE_IS_3215 || CONSOLE_IS_SCLP) | ||
142 | add_preferred_console("ttyS", 0, NULL); | 148 | add_preferred_console("ttyS", 0, NULL); |
143 | else if (CONSOLE_IS_3270) | 149 | else if (CONSOLE_IS_3270) |
144 | add_preferred_console("tty3270", 0, NULL); | 150 | add_preferred_console("tty3270", 0, NULL); |