Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 570126d3 authored by Michael Mueller's avatar Michael Mueller Committed by Christian Borntraeger
Browse files

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: default avatarMichael Mueller <mimu@linux.vnet.ibm.com>
Acked-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 4953919f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -66,5 +66,6 @@ int memcpy_hsa(void *dest, unsigned long src, size_t count, int mode);
unsigned long sclp_get_hsa_size(void);
void sclp_early_detect(void);
int sclp_has_siif(void);
unsigned int sclp_get_ibc(void);

#endif /* _ASM_S390_SCLP_H */
+11 −1
Original line number Diff line number Diff line
@@ -27,7 +27,9 @@ struct read_info_sccb {
	u8	loadparm[8];		/* 24-31 */
	u8	_reserved1[48 - 32];	/* 32-47 */
	u64	facilities;		/* 48-55 */
	u8	_reserved2[84 - 56];	/* 56-83 */
	u8	_reserved2a[76 - 56];	/* 56-75 */
	u32	ibc;			/* 76-79 */
	u8	_reserved2b[84 - 80];	/* 80-83 */
	u8	fac84;			/* 84 */
	u8	fac85;			/* 85 */
	u8	_reserved3[91 - 86];	/* 86-90 */
@@ -47,6 +49,7 @@ static unsigned long sclp_hsa_size;
static unsigned int sclp_max_cpu;
static struct sclp_ipl_info sclp_ipl_info;
static unsigned char sclp_siif;
static u32 sclp_ibc;

u64 sclp_facilities;
u8 sclp_fac84;
@@ -111,6 +114,7 @@ static void __init sclp_facilities_detect(struct read_info_sccb *sccb)
	sclp_rnmax = sccb->rnmax ? sccb->rnmax : sccb->rnmax2;
	sclp_rzm = sccb->rnsize ? sccb->rnsize : sccb->rnsize2;
	sclp_rzm <<= 20;
	sclp_ibc = sccb->ibc;

	if (!sccb->hcpua) {
		if (MACHINE_IS_VM)
@@ -168,6 +172,12 @@ int sclp_has_siif(void)
}
EXPORT_SYMBOL(sclp_has_siif);

unsigned int sclp_get_ibc(void)
{
	return sclp_ibc;
}
EXPORT_SYMBOL(sclp_get_ibc);

/*
 * This function will be called after sclp_facilities_detect(), which gets
 * called from early.c code. The sclp_facilities_detect() function retrieves