summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/early.c
diff options
context:
space:
mode:
authorJan Glauber <jang@linux.vnet.ibm.com>2011-11-14 14:19:06 +0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-11-14 14:19:09 +0400
commitcfa1e7e1d49c6f5f0b00b2cb890b521e5c0dc7ea (patch)
treeb2e647a1511d841a2f9b33d1386891de3472bbdf /arch/s390/kernel/early.c
parent3f25dc4fcbc371f86a61a6af759003ebd4965908 (diff)
downloadlinux-cfa1e7e1d49c6f5f0b00b2cb890b521e5c0dc7ea.tar.xz
[S390] avoid STCKF if running in ESA mode
In ESA mode STCKF is not defined even if the facility bit is enabled. To prevent an illegal operation we must also check if we run a 64 bit kernel. To make the check perform well add the STCKF bit to the machine flags. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/early.c')
-rw-r--r--arch/s390/kernel/early.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c
index 37394b3413e2..c9ffe0025197 100644
--- a/arch/s390/kernel/early.c
+++ b/arch/s390/kernel/early.c
@@ -390,6 +390,8 @@ static __init void detect_machine_facilities(void)
S390_lowcore.machine_flags |= MACHINE_FLAG_MVCOS;
if (test_facility(40))
S390_lowcore.machine_flags |= MACHINE_FLAG_SPP;
+ if (test_facility(25))
+ S390_lowcore.machine_flags |= MACHINE_FLAG_STCKF;
#endif
}