summaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/sclp.h
diff options
context:
space:
mode:
authorClaudio Imbrenda <imbrenda@linux.vnet.ibm.com>2018-01-23 16:50:43 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2018-02-22 15:31:24 +0100
commit0b0d1173d8aef75e821c0cceedb0e8178834ec1b (patch)
treeeceecae57a15d49a22440434cc3aeb0ed0e97831 /drivers/s390/char/sclp.h
parentb843563518c1e06521c446b9a043b7d352df02e0 (diff)
downloadlinux-0b0d1173d8aef75e821c0cceedb0e8178834ec1b.tar.gz
linux-0b0d1173d8aef75e821c0cceedb0e8178834ec1b.tar.bz2
linux-0b0d1173d8aef75e821c0cceedb0e8178834ec1b.zip
s390/sclp: 32 bit event mask compatibility mode
Qemu before version 2.11 does not implement the architecture correctly, and does not allow for a mask size of size different than 4. This patch introduces a compatibility mode for such systems, forcing the mask sizes to 4. Since the mask size is currently still 4 anyway, this patch should have no impact whatsoever by itself, but it will be needed when the mask size is increased to 64 bits in the next patch. Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/char/sclp.h')
-rw-r--r--drivers/s390/char/sclp.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/s390/char/sclp.h b/drivers/s390/char/sclp.h
index ee44d169f10f..45e6ffdc7f08 100644
--- a/drivers/s390/char/sclp.h
+++ b/drivers/s390/char/sclp.h
@@ -109,6 +109,8 @@ struct init_sccb {
*/
} __attribute__((packed));
+#define SCLP_MASK_SIZE_COMPAT 4
+
static inline sccb_mask_t sccb_get_mask(u8 *masks, size_t len, int i)
{
sccb_mask_t res = 0;
@@ -262,6 +264,7 @@ extern int sclp_init_state;
extern int sclp_console_pages;
extern int sclp_console_drop;
extern unsigned long sclp_console_full;
+extern bool sclp_mask_compat_mode;
extern char sclp_early_sccb[PAGE_SIZE];