diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2010-10-25 10:10:38 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-25 10:10:19 -0400 |
commit | f6649a7e5a9ee99e9623878f4a5579cc2f6cdd51 (patch) | |
tree | 183438313c7593565980a1445f208e0ba30162cd /arch/s390/kernel/entry64.S | |
parent | 1e54622e0403891b10f2105663e0f9dd595a1f17 (diff) |
[S390] cleanup lowcore access from external interrupts
Read external interrupts parameters from the lowcore in the first
level interrupt handler in entry[64].S.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/entry64.S')
-rw-r--r-- | arch/s390/kernel/entry64.S | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 2d205e4e7bb6..e4038ea4dc57 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -727,8 +727,11 @@ ext_int_handler: | |||
727 | ext_no_vtime: | 727 | ext_no_vtime: |
728 | HANDLE_SIE_INTERCEPT | 728 | HANDLE_SIE_INTERCEPT |
729 | TRACE_IRQS_OFF | 729 | TRACE_IRQS_OFF |
730 | lghi %r1,4096 | ||
730 | la %r2,SP_PTREGS(%r15) # address of register-save area | 731 | la %r2,SP_PTREGS(%r15) # address of register-save area |
731 | llgh %r3,__LC_EXT_INT_CODE # get interruption code | 732 | llgf %r3,__LC_CPU_ADDRESS # get cpu address + interruption code |
733 | llgf %r4,__LC_EXT_PARAMS # get external parameter | ||
734 | lg %r5,__LC_EXT_PARAMS2-4096(%r1) # get 64 bit external parameter | ||
732 | brasl %r14,do_extint | 735 | brasl %r14,do_extint |
733 | j io_return | 736 | j io_return |
734 | 737 | ||