s390/sclp: add detection of IPL-complete-control facility
authorAlexander Egorenkov <egorenar@linux.ibm.com>
Fri, 3 Sep 2021 07:39:48 +0000 (09:39 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 25 Apr 2022 11:54:12 +0000 (13:54 +0200)
The presence of the IPL-complete-control facility can be derived
from the hypervisor's SCLP info response.

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/sclp.h
drivers/s390/char/sclp_early.c

index 04cb1e7582a66acfe8198237b6f114b3f903bcc3..236b34b75ddb8daca11f013dfc2881ebc8b5c21b 100644 (file)
@@ -87,6 +87,7 @@ struct sclp_info {
        unsigned char has_diag318 : 1;
        unsigned char has_sipl : 1;
        unsigned char has_dirq : 1;
+       unsigned char has_iplcc : 1;
        unsigned int ibc;
        unsigned int mtid;
        unsigned int mtid_cp;
index e9943a86c361e7ac341211bdd26a494332734306..dd313ff57df3b4bca267ae852d01803769ea06ea 100644 (file)
@@ -49,8 +49,10 @@ static void __init sclp_early_facilities_detect(void)
                S390_lowcore.machine_flags |= MACHINE_FLAG_ESOP;
        if (sccb->fac91 & 0x40)
                S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_GUEST;
-       if (sccb->cpuoff > 134)
+       if (sccb->cpuoff > 134) {
                sclp.has_diag318 = !!(sccb->byte_134 & 0x80);
+               sclp.has_iplcc = !!(sccb->byte_134 & 0x02);
+       }
        if (sccb->cpuoff > 137)
                sclp.has_sipl = !!(sccb->cbl & 0x4000);
        sclp.rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2;