summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/early.c
diff options
context:
space:
mode:
authorHeiko Carstens2012-09-27 10:45:06 +0200
committerMartin Schwidefsky2012-10-09 14:16:55 +0200
commit85e9d0e5ffabfede5facbac5b0d9b90768bc6e90 (patch)
treeb158c8bde347cd8cabd24265dfe65884a08db701 /arch/s390/kernel/early.c
parents390/facilities: cleanup PFMF and HPAGE machine facility detection (diff)
downloadkernel-qcow2-linux-85e9d0e5ffabfede5facbac5b0d9b90768bc6e90.tar.gz
kernel-qcow2-linux-85e9d0e5ffabfede5facbac5b0d9b90768bc6e90.tar.xz
kernel-qcow2-linux-85e9d0e5ffabfede5facbac5b0d9b90768bc6e90.zip
s390/mm: use pfmf instruction to initialize storage keys
Make use of the pfmf instruction, if available, to initialize storage keys of whole 1MB or 2GB frames instead of initializing every single page with the sske instruction. Signed-off-by: Heiko Carstens <heiko.carstens@de.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 4c91d078d091..1f0eee9e7daa 100644
--- a/arch/s390/kernel/early.c
+++ b/arch/s390/kernel/early.c
@@ -374,6 +374,8 @@ static __init void detect_machine_facilities(void)
S390_lowcore.machine_flags |= MACHINE_FLAG_EDAT1;
__ctl_set_bit(0, 23);
}
+ if (test_facility(78))
+ S390_lowcore.machine_flags |= MACHINE_FLAG_EDAT2;
if (test_facility(3))
S390_lowcore.machine_flags |= MACHINE_FLAG_IDTE;
if (test_facility(27))