diff options
author | Michael Mueller <mimu@linux.vnet.ibm.com> | 2017-06-12 07:49:28 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2018-01-26 08:13:57 -0500 |
commit | 9e73ea7056bd5f7e1b6e66e3d503478bb5160f07 (patch) | |
tree | d3f76d96a5fc0d89930d2653e994d121962a7f7f | |
parent | f180bfdae024b34e71e89dcc82b037dd97f74c3a (diff) |
s390/sclp: expose the GISA format facility
The GISA format facility is required by the host to be able to process
a format-1 GISA. If not available, the used GISA format will be format-0.
All format-1 related extension will not be available in this case.
Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
-rw-r--r-- | arch/s390/include/asm/sclp.h | 1 | ||||
-rw-r--r-- | drivers/s390/char/sclp_early.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/include/asm/sclp.h b/arch/s390/include/asm/sclp.h index d3c1a8a2e3ad..3cae9168f63c 100644 --- a/arch/s390/include/asm/sclp.h +++ b/arch/s390/include/asm/sclp.h | |||
@@ -77,6 +77,7 @@ struct sclp_info { | |||
77 | unsigned char has_ibs : 1; | 77 | unsigned char has_ibs : 1; |
78 | unsigned char has_skey : 1; | 78 | unsigned char has_skey : 1; |
79 | unsigned char has_kss : 1; | 79 | unsigned char has_kss : 1; |
80 | unsigned char has_gisaf : 1; | ||
80 | unsigned int ibc; | 81 | unsigned int ibc; |
81 | unsigned int mtid; | 82 | unsigned int mtid; |
82 | unsigned int mtid_cp; | 83 | unsigned int mtid_cp; |
diff --git a/drivers/s390/char/sclp_early.c b/drivers/s390/char/sclp_early.c index d06bc5674e5f..6b1891539c84 100644 --- a/drivers/s390/char/sclp_early.c +++ b/drivers/s390/char/sclp_early.c | |||
@@ -49,7 +49,7 @@ struct read_info_sccb { | |||
49 | u8 _pad_112[116 - 112]; /* 112-115 */ | 49 | u8 _pad_112[116 - 112]; /* 112-115 */ |
50 | u8 fac116; /* 116 */ | 50 | u8 fac116; /* 116 */ |
51 | u8 fac117; /* 117 */ | 51 | u8 fac117; /* 117 */ |
52 | u8 _pad_118; /* 118 */ | 52 | u8 fac118; /* 118 */ |
53 | u8 fac119; /* 119 */ | 53 | u8 fac119; /* 119 */ |
54 | u16 hcpua; /* 120-121 */ | 54 | u16 hcpua; /* 120-121 */ |
55 | u8 _pad_122[124 - 122]; /* 122-123 */ | 55 | u8 _pad_122[124 - 122]; /* 122-123 */ |
@@ -100,6 +100,7 @@ static void __init sclp_early_facilities_detect(struct read_info_sccb *sccb) | |||
100 | sclp.has_esca = !!(sccb->fac116 & 0x08); | 100 | sclp.has_esca = !!(sccb->fac116 & 0x08); |
101 | sclp.has_pfmfi = !!(sccb->fac117 & 0x40); | 101 | sclp.has_pfmfi = !!(sccb->fac117 & 0x40); |
102 | sclp.has_ibs = !!(sccb->fac117 & 0x20); | 102 | sclp.has_ibs = !!(sccb->fac117 & 0x20); |
103 | sclp.has_gisaf = !!(sccb->fac118 & 0x08); | ||
103 | sclp.has_hvs = !!(sccb->fac119 & 0x80); | 104 | sclp.has_hvs = !!(sccb->fac119 & 0x80); |
104 | sclp.has_kss = !!(sccb->fac98 & 0x01); | 105 | sclp.has_kss = !!(sccb->fac98 & 0x01); |
105 | if (sccb->fac85 & 0x02) | 106 | if (sccb->fac85 & 0x02) |