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

Commit d614be05 authored by David Hildenbrand's avatar David Hildenbrand Committed by Christian Borntraeger
Browse files

s390/sclp: introduce check for the SIGP Interpretation Facility



This patch introduces the infrastructure to check whether the SIGP
Interpretation Facility is installed on all VCPUs in the configuration.

Signed-off-by: default avatarDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Acked-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent a3a9c59a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -31,7 +31,8 @@ struct sclp_cpu_entry {
	u8 reserved0[2];
	u8 : 3;
	u8 siif : 1;
	u8 : 4;
	u8 sigpif : 1;
	u8 : 3;
	u8 reserved2[10];
	u8 type;
	u8 reserved1;
@@ -66,6 +67,7 @@ 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);
int sclp_has_sigpif(void);
unsigned int sclp_get_ibc(void);

#endif /* _ASM_S390_SCLP_H */
+8 −0
Original line number Diff line number Diff line
@@ -49,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 unsigned char sclp_sigpif;
static u32 sclp_ibc;

u64 sclp_facilities;
@@ -131,6 +132,7 @@ static void __init sclp_facilities_detect(struct read_info_sccb *sccb)
		if (boot_cpu_address != cpue->address)
			continue;
		sclp_siif = cpue->siif;
		sclp_sigpif = cpue->sigpif;
		break;
	}

@@ -172,6 +174,12 @@ int sclp_has_siif(void)
}
EXPORT_SYMBOL(sclp_has_siif);

int sclp_has_sigpif(void)
{
	return sclp_sigpif;
}
EXPORT_SYMBOL(sclp_has_sigpif);

unsigned int sclp_get_ibc(void)
{
	return sclp_ibc;