]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
s390/sclp: Detect KSS facility
authorFarhan Ali <alifm@linux.vnet.ibm.com>
Thu, 23 Feb 2017 18:39:17 +0000 (13:39 -0500)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 21 Apr 2017 09:08:04 +0000 (11:08 +0200)
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>
arch/s390/include/asm/sclp.h
drivers/s390/char/sclp_early.c

index ace3bd315438e3fbf210b63c142c550ff42da0ee..6f5167bc19286d21f1489703b505073c8621953f 100644 (file)
@@ -75,6 +75,7 @@ struct sclp_info {
        unsigned char has_pfmfi : 1;
        unsigned char has_ibs : 1;
        unsigned char has_skey : 1;
+       unsigned char has_kss : 1;
        unsigned int ibc;
        unsigned int mtid;
        unsigned int mtid_cp;
index 519ec1787117d76e61133450496b539a35a8616c..efd84d1d178b0936d36974b61beec3d56b4e2bac 100644 (file)
@@ -40,7 +40,8 @@ struct read_info_sccb {
        u8      fac85;                  /* 85 */
        u8      _pad_86[91 - 86];       /* 86-90 */
        u8      flags;                  /* 91 */
-       u8      _pad_92[99 - 92];       /* 92-98 */
+       u8      _pad_92[98 - 92];       /* 92-97 */
+       u8      fac98;                  /* 98 */
        u8      hamaxpow;               /* 99 */
        u32     rnsize2;                /* 100-103 */
        u64     rnmax2;                 /* 104-111 */
@@ -99,6 +100,7 @@ static void __init sclp_early_facilities_detect(struct read_info_sccb *sccb)
        sclp.has_pfmfi = !!(sccb->fac117 & 0x40);
        sclp.has_ibs = !!(sccb->fac117 & 0x20);
        sclp.has_hvs = !!(sccb->fac119 & 0x80);
+       sclp.has_kss = !!(sccb->fac98 & 0x01);
        if (sccb->fac85 & 0x02)
                S390_lowcore.machine_flags |= MACHINE_FLAG_ESOP;
        sclp.rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2;