summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/ctl_reg.h
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2017-01-11 11:14:45 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2017-01-16 09:27:55 +0300
commit742dc5773cf5bbb355e4b4dd61310d5f51556477 (patch)
treec5bcd9921d22571dfd55a333c3746c44dec278a2 /arch/s390/include/asm/ctl_reg.h
parent68cc795d1933285705ced6d841ef66c00ce98cbe (diff)
downloadlinux-742dc5773cf5bbb355e4b4dd61310d5f51556477.tar.xz
s390/sclp: make early sclp irq handler more robust
Make the early sclp interrupt handler more robust: - disable all interrupt sub classes except for the service signal subclass - extend ctlreg0 union so it is easily possible to set the service signal subclass mask bit without using a magic number - disable lowcore protection before writing to it - make sure that all write accesses are done before the original content of control register 0 is restored, which could enable lowcore protection Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/ctl_reg.h')
-rw-r--r--arch/s390/include/asm/ctl_reg.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/include/asm/ctl_reg.h b/arch/s390/include/asm/ctl_reg.h
index 8e136b88cdf4..cf4c9a106049 100644
--- a/arch/s390/include/asm/ctl_reg.h
+++ b/arch/s390/include/asm/ctl_reg.h
@@ -62,7 +62,9 @@ union ctlreg0 {
unsigned long : 4;
unsigned long afp : 1; /* AFP-register control */
unsigned long vx : 1; /* Vector enablement control */
- unsigned long : 17;
+ unsigned long : 7;
+ unsigned long sssm : 1; /* Service signal subclass mask */
+ unsigned long : 9;
};
};