diff options
author | Michael Mueller <mimu@linux.vnet.ibm.com> | 2014-03-15 13:16:26 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-05-16 08:57:30 -0400 |
commit | 570126d370e9c018e603d63272ebcf7340efc05b (patch) | |
tree | b01ed6c8e29d72f088aa8fa06f48ee0044cb4fac /drivers/s390/char | |
parent | 4953919feedaeb6d0161ecea920c35d1d1f639d3 (diff) |
s390/sclp: add sclp_get_ibc function
The patch adds functionality to retrieve the IBC configuration
by means of function sclp_get_ibc().
Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'drivers/s390/char')
-rw-r--r-- | drivers/s390/char/sclp_early.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/s390/char/sclp_early.c b/drivers/s390/char/sclp_early.c index b57fe0efb422..1918d9dff45d 100644 --- a/drivers/s390/char/sclp_early.c +++ b/drivers/s390/char/sclp_early.c | |||
@@ -27,7 +27,9 @@ struct read_info_sccb { | |||
27 | u8 loadparm[8]; /* 24-31 */ | 27 | u8 loadparm[8]; /* 24-31 */ |
28 | u8 _reserved1[48 - 32]; /* 32-47 */ | 28 | u8 _reserved1[48 - 32]; /* 32-47 */ |
29 | u64 facilities; /* 48-55 */ | 29 | u64 facilities; /* 48-55 */ |
30 | u8 _reserved2[84 - 56]; /* 56-83 */ | 30 | u8 _reserved2a[76 - 56]; /* 56-75 */ |
31 | u32 ibc; /* 76-79 */ | ||
32 | u8 _reserved2b[84 - 80]; /* 80-83 */ | ||
31 | u8 fac84; /* 84 */ | 33 | u8 fac84; /* 84 */ |
32 | u8 fac85; /* 85 */ | 34 | u8 fac85; /* 85 */ |
33 | u8 _reserved3[91 - 86]; /* 86-90 */ | 35 | u8 _reserved3[91 - 86]; /* 86-90 */ |
@@ -47,6 +49,7 @@ static unsigned long sclp_hsa_size; | |||
47 | static unsigned int sclp_max_cpu; | 49 | static unsigned int sclp_max_cpu; |
48 | static struct sclp_ipl_info sclp_ipl_info; | 50 | static struct sclp_ipl_info sclp_ipl_info; |
49 | static unsigned char sclp_siif; | 51 | static unsigned char sclp_siif; |
52 | static u32 sclp_ibc; | ||
50 | 53 | ||
51 | u64 sclp_facilities; | 54 | u64 sclp_facilities; |
52 | u8 sclp_fac84; | 55 | u8 sclp_fac84; |
@@ -111,6 +114,7 @@ static void __init sclp_facilities_detect(struct read_info_sccb *sccb) | |||
111 | sclp_rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2; | 114 | sclp_rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2; |
112 | sclp_rzm = sccb->rnsize ? sccb->rnsize : sccb->rnsize2; | 115 | sclp_rzm = sccb->rnsize ? sccb->rnsize : sccb->rnsize2; |
113 | sclp_rzm <<= 20; | 116 | sclp_rzm <<= 20; |
117 | sclp_ibc = sccb->ibc; | ||
114 | 118 | ||
115 | if (!sccb->hcpua) { | 119 | if (!sccb->hcpua) { |
116 | if (MACHINE_IS_VM) | 120 | if (MACHINE_IS_VM) |
@@ -168,6 +172,12 @@ int sclp_has_siif(void) | |||
168 | } | 172 | } |
169 | EXPORT_SYMBOL(sclp_has_siif); | 173 | EXPORT_SYMBOL(sclp_has_siif); |
170 | 174 | ||
175 | unsigned int sclp_get_ibc(void) | ||
176 | { | ||
177 | return sclp_ibc; | ||
178 | } | ||
179 | EXPORT_SYMBOL(sclp_get_ibc); | ||
180 | |||
171 | /* | 181 | /* |
172 | * This function will be called after sclp_facilities_detect(), which gets | 182 | * This function will be called after sclp_facilities_detect(), which gets |
173 | * called from early.c code. The sclp_facilities_detect() function retrieves | 183 | * called from early.c code. The sclp_facilities_detect() function retrieves |