s390/sclp: detect DIRQ facility
authorSebastian Ott <sebott@linux.ibm.com>
Tue, 12 Feb 2019 11:37:50 +0000 (12:37 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 29 Apr 2019 08:47:01 +0000 (10:47 +0200)
Detect the adapter CPU directed interruption facility.

Signed-off-by: Sebastian Ott <sebott@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/sclp.h
drivers/s390/char/sclp.h
drivers/s390/char/sclp_early.c

index ef5d8fa..f577c5f 100644 (file)
@@ -81,6 +81,7 @@ struct sclp_info {
        unsigned char has_diag318 : 1;
        unsigned char has_sipl : 1;
        unsigned char has_sipl_g2 : 1;
+       unsigned char has_dirq : 1;
        unsigned int ibc;
        unsigned int mtid;
        unsigned int mtid_cp;
index 287382d..043f32b 100644 (file)
@@ -197,7 +197,7 @@ struct read_info_sccb {
        u32     hmfai;                  /* 124-127 */
        u8      _pad_128[134 - 128];    /* 128-133 */
        u8      byte_134;                       /* 134 */
-       u8      _pad_135;               /* 135 */
+       u8      cpudirq;                /* 135 */
        u16     cbl;                    /* 136-137 */
        u8      _pad_138[4096 - 138];   /* 138-4095 */
 } __packed __aligned(PAGE_SIZE);
index dae9de3..fdad2a9 100644 (file)
@@ -95,6 +95,7 @@ static void __init sclp_early_facilities_detect(struct read_info_sccb *sccb)
        sclp.mtid_prev = (sccb->fac42 & 0x80) ? (sccb->fac66 & 31) : 0;
 
        sclp.hmfai = sccb->hmfai;
+       sclp.has_dirq = !!(sccb->cpudirq & 0x80);
 }
 
 /*