summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>2015-11-24 12:51:52 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2016-06-10 12:07:18 +0200
commitb9e28897e6e9f82585ecf6ea45942866ece7d167 (patch)
tree21c854ec094710d2d5cb0c9799464eb60540ebde
parentKVM: s390: handle missing 64-bit-SCAO facility (diff)
downloadlinux-b9e28897e6e9f82585ecf6ea45942866ece7d167.tar.xz
linux-b9e28897e6e9f82585ecf6ea45942866ece7d167.zip
s390/sclp: detect guest-PER enhancement
Let's detect that facility, so we can correctly handle its abscence. Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
-rw-r--r--arch/s390/include/asm/sclp.h4
-rw-r--r--drivers/s390/char/sclp_early.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/arch/s390/include/asm/sclp.h b/arch/s390/include/asm/sclp.h
index 521400086e65..076f6318b6fa 100644
--- a/arch/s390/include/asm/sclp.h
+++ b/arch/s390/include/asm/sclp.h
@@ -33,7 +33,8 @@ struct sclp_core_entry {
u8 : 4;
u8 sief2 : 1;
u8 : 3;
- u8 : 3;
+ u8 : 2;
+ u8 gpere : 1;
u8 siif : 1;
u8 sigpif : 1;
u8 : 3;
@@ -60,6 +61,7 @@ struct sclp_info {
unsigned char has_esca : 1;
unsigned char has_sief2 : 1;
unsigned char has_64bscao : 1;
+ unsigned char has_gpere : 1;
unsigned int ibc;
unsigned int mtid;
unsigned int mtid_cp;
diff --git a/drivers/s390/char/sclp_early.c b/drivers/s390/char/sclp_early.c
index 211eb86ae62d..a05f2d07ea02 100644
--- a/drivers/s390/char/sclp_early.c
+++ b/drivers/s390/char/sclp_early.c
@@ -146,6 +146,7 @@ static void __init sclp_facilities_detect(struct read_info_sccb *sccb)
sclp.has_siif = cpue->siif;
sclp.has_sigpif = cpue->sigpif;
sclp.has_sief2 = cpue->sief2;
+ sclp.has_gpere = cpue->gpere;
break;
}