OSDN Git Service

[PATCH] s390: memory query wait psw
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 7 Nov 2005 08:59:04 +0000 (00:59 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 7 Nov 2005 15:53:33 +0000 (07:53 -0800)
Don't switch back to 24 bit addressing mode when waiting for an external
interrupt and set the correct bit in wait PSW (external mask instead of I/O
mask).

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/s390/kernel/head.S
arch/s390/kernel/head64.S

index 039354d..4ca0293 100644 (file)
@@ -572,8 +572,7 @@ startup:basr  %r13,0                     # get base
 .Lcr:
        .long 0x00                      # place holder for cr0
 .Lwaitsclp:
-       .long 0x020A0000
-       .long .Lsclph
+       .long 0x010a0000,0x80000000 + .Lsclph
 .Lrcp:
        .int 0x00120001                 # Read SCP forced code
 .Lrcp2:
index 193aafa..d9be8f9 100644 (file)
@@ -530,7 +530,7 @@ startup:basr  %r13,0                     # get base
        be    .Lfchunk-.LPG1(%r13)      # leave
        chi   %r1,2
        be    .Lservicecall-.LPG1(%r13)
-       lpsw  .Lwaitsclp-.LPG1(%r13)
+       lpswe .Lwaitsclp-.LPG1(%r13)
 .Lsclph:
        lh    %r1,.Lsccbr-PARMAREA(%r4)
        chi   %r1,0x10                  # 0x0010 is the sucess code
@@ -567,8 +567,7 @@ startup:basr  %r13,0                     # get base
 .Lcr:
        .quad 0x00  # place holder for cr0
 .Lwaitsclp:
-       .long 0x020A0000
-       .quad .Lsclph
+       .quad  0x0102000180000000,.Lsclph
 .Lrcp:
        .int 0x00120001 # Read SCP forced code
 .Lrcp2: