summaryrefslogtreecommitdiff
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-11-16 22:28:43 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-11-16 22:28:43 -0500
commit2bf81c8af92dd53890557c5d87875842d573a3e9 (patch)
tree83e7e3539599b091ac69557658c06c0a39cfa60e /arch/s390/kernel
parent9526d9bc23f362035cfabf044aa90f4ed1787955 (diff)
parent5f6c4ab6ee781c9aace7c8548ad9bd87f5678df7 (diff)
Merge branch 'arch-microblaze' into no-rebases
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r--arch/s390/kernel/sclp.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/s390/kernel/sclp.S b/arch/s390/kernel/sclp.S
index bf053898630d..b6506ee32a36 100644
--- a/arch/s390/kernel/sclp.S
+++ b/arch/s390/kernel/sclp.S
@@ -44,6 +44,12 @@ _sclp_wait_int:
#endif
mvc .LoldpswS1-.LbaseS1(16,%r13),0(%r8)
mvc 0(16,%r8),0(%r9)
+#ifdef CONFIG_64BIT
+ epsw %r6,%r7 # set current addressing mode
+ nill %r6,0x1 # in new psw (31 or 64 bit mode)
+ nilh %r7,0x8000
+ stm %r6,%r7,0(%r8)
+#endif
lhi %r6,0x0200 # cr mask for ext int (cr0.54)
ltr %r2,%r2
jz .LsetctS1
@@ -87,7 +93,7 @@ _sclp_wait_int:
.long 0x00080000, 0x80000000+.LwaitS1 # PSW to handle ext int
#ifdef CONFIG_64BIT
.LextpswS1_64:
- .quad 0x0000000180000000, .LwaitS1 # PSW to handle ext int, 64 bit
+ .quad 0, .LwaitS1 # PSW to handle ext int, 64 bit
#endif
.LwaitpswS1:
.long 0x010a0000, 0x00000000+.LloopS1 # PSW to wait for ext int