diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2005-06-22 02:16:31 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-22 04:07:34 +0200 |
commit | 2b071886170df456e230c38a3e504da4a11fff79 (patch) | |
tree | 0031ea86de067846c22d15c35bd78d611f61edb7 /arch/s390/kernel/head.S | |
parent | [PATCH] s390: memory detection > 32GB (diff) | |
download | linux-2b071886170df456e230c38a3e504da4a11fff79.tar.xz linux-2b071886170df456e230c38a3e504da4a11fff79.zip |
[PATCH] s390: pending interrupt after ipl from reader
Wait for interrupt and clear status pending after resetting the reader.
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>
Diffstat (limited to 'arch/s390/kernel/head.S')
-rw-r--r-- | arch/s390/kernel/head.S | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index 658e8de74f88..fc8bf5e285f6 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S @@ -345,10 +345,25 @@ iplstart: bno .Lnoreset la %r2,.Lreset lhi %r3,26 - .long 0x83230008 + diag %r2,%r3,8 + mvc 0x78(8),.Lrdrnewpsw # set up IO interrupt psw +.Lwaitrdrirq: + lpsw .Lrdrwaitpsw +.Lrdrint: + c %r1,0xb8 # compare subchannel number + bne .Lwaitrdrirq + la %r5,.Lirb + tsch 0(%r5) .Lnoreset: + b .Lnoload + + .align 8 +.Lrdrnewpsw: + .long 0x00080000,0x80000000+.Lrdrint +.Lrdrwaitpsw: + .long 0x020a0000,0x80000000+.Lrdrint #endif - + # # everything loaded, go for it # |