aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/char/sclp_cmd.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/s390/char/sclp_cmd.c b/drivers/s390/char/sclp_cmd.c
index 36506366158d..766cb7b19b40 100644
--- a/drivers/s390/char/sclp_cmd.c
+++ b/drivers/s390/char/sclp_cmd.c
@@ -17,6 +17,7 @@
17#include <linux/mm.h> 17#include <linux/mm.h>
18#include <linux/mmzone.h> 18#include <linux/mmzone.h>
19#include <linux/memory.h> 19#include <linux/memory.h>
20#include <linux/module.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21#include <asm/chpid.h> 22#include <asm/chpid.h>
22#include <asm/sclp.h> 23#include <asm/sclp.h>
@@ -38,7 +39,8 @@ struct read_info_sccb {
38 u64 facilities; /* 48-55 */ 39 u64 facilities; /* 48-55 */
39 u8 _reserved2[84 - 56]; /* 56-83 */ 40 u8 _reserved2[84 - 56]; /* 56-83 */
40 u8 fac84; /* 84 */ 41 u8 fac84; /* 84 */
41 u8 _reserved3[91 - 85]; /* 85-90 */ 42 u8 fac85; /* 85 */
43 u8 _reserved3[91 - 86]; /* 86-90 */
42 u8 flags; /* 91 */ 44 u8 flags; /* 91 */
43 u8 _reserved4[100 - 92]; /* 92-99 */ 45 u8 _reserved4[100 - 92]; /* 92-99 */
44 u32 rnsize2; /* 100-103 */ 46 u32 rnsize2; /* 100-103 */
@@ -51,6 +53,7 @@ static int __initdata early_read_info_sccb_valid;
51 53
52u64 sclp_facilities; 54u64 sclp_facilities;
53static u8 sclp_fac84; 55static u8 sclp_fac84;
56static u8 sclp_fac85;
54static unsigned long long rzm; 57static unsigned long long rzm;
55static unsigned long long rnmax; 58static unsigned long long rnmax;
56 59
@@ -112,6 +115,7 @@ void __init sclp_facilities_detect(void)
112 sccb = &early_read_info_sccb; 115 sccb = &early_read_info_sccb;
113 sclp_facilities = sccb->facilities; 116 sclp_facilities = sccb->facilities;
114 sclp_fac84 = sccb->fac84; 117 sclp_fac84 = sccb->fac84;
118 sclp_fac85 = sccb->fac85;
115 rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2; 119 rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2;
116 rzm = sccb->rnsize ? sccb->rnsize : sccb->rnsize2; 120 rzm = sccb->rnsize ? sccb->rnsize : sccb->rnsize2;
117 rzm <<= 20; 121 rzm <<= 20;
@@ -127,6 +131,12 @@ unsigned long long sclp_get_rzm(void)
127 return rzm; 131 return rzm;
128} 132}
129 133
134u8 sclp_get_fac85(void)
135{
136 return sclp_fac85;
137}
138EXPORT_SYMBOL_GPL(sclp_get_fac85);
139
130/* 140/*
131 * This function will be called after sclp_facilities_detect(), which gets 141 * This function will be called after sclp_facilities_detect(), which gets
132 * called from early.c code. Therefore the sccb should have valid contents. 142 * called from early.c code. Therefore the sccb should have valid contents.