summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorJan Glauber <jang@linux.vnet.ibm.com>2011-11-14 11:19:06 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-11-14 11:19:09 +0100
commitcfa1e7e1d49c6f5f0b00b2cb890b521e5c0dc7ea (patch)
treeb2e647a1511d841a2f9b33d1386891de3472bbdf /arch/s390/kernel
parent3f25dc4fcbc371f86a61a6af759003ebd4965908 (diff)
downloadlinux-cfa1e7e1d49c6f5f0b00b2cb890b521e5c0dc7ea.tar.bz2
[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')
-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
}