Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/sclp: Detect KSS facility

Let's detect the keyless subset facility.

Signed-off-by: Farhan Ali <alifm@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>

authored by

Farhan Ali and committed by
Christian Borntraeger
71cb1bf6 80248559

+4 -1
+1
arch/s390/include/asm/sclp.h
··· 75 75 unsigned char has_pfmfi : 1; 76 76 unsigned char has_ibs : 1; 77 77 unsigned char has_skey : 1; 78 + unsigned char has_kss : 1; 78 79 unsigned int ibc; 79 80 unsigned int mtid; 80 81 unsigned int mtid_cp;
+3 -1
drivers/s390/char/sclp_early.c
··· 40 40 u8 fac85; /* 85 */ 41 41 u8 _pad_86[91 - 86]; /* 86-90 */ 42 42 u8 flags; /* 91 */ 43 - u8 _pad_92[99 - 92]; /* 92-98 */ 43 + u8 _pad_92[98 - 92]; /* 92-97 */ 44 + u8 fac98; /* 98 */ 44 45 u8 hamaxpow; /* 99 */ 45 46 u32 rnsize2; /* 100-103 */ 46 47 u64 rnmax2; /* 104-111 */ ··· 100 99 sclp.has_pfmfi = !!(sccb->fac117 & 0x40); 101 100 sclp.has_ibs = !!(sccb->fac117 & 0x20); 102 101 sclp.has_hvs = !!(sccb->fac119 & 0x80); 102 + sclp.has_kss = !!(sccb->fac98 & 0x01); 103 103 if (sccb->fac85 & 0x02) 104 104 S390_lowcore.machine_flags |= MACHINE_FLAG_ESOP; 105 105 sclp.rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2;