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 /drivers/s390/char | |
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 'drivers/s390/char')
-rw-r--r-- | drivers/s390/char/sclp.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c index 5707a80b96b6..35cc4686b99b 100644 --- a/drivers/s390/char/sclp.c +++ b/drivers/s390/char/sclp.c | |||
@@ -395,16 +395,16 @@ __sclp_find_req(u32 sccb) | |||
395 | /* Handler for external interruption. Perform request post-processing. | 395 | /* Handler for external interruption. Perform request post-processing. |
396 | * Prepare read event data request if necessary. Start processing of next | 396 | * Prepare read event data request if necessary. Start processing of next |
397 | * request on queue. */ | 397 | * request on queue. */ |
398 | static void | 398 | static void sclp_interrupt_handler(unsigned int ext_int_code, |
399 | sclp_interrupt_handler(__u16 code) | 399 | unsigned int param32, unsigned long param64) |
400 | { | 400 | { |
401 | struct sclp_req *req; | 401 | struct sclp_req *req; |
402 | u32 finished_sccb; | 402 | u32 finished_sccb; |
403 | u32 evbuf_pending; | 403 | u32 evbuf_pending; |
404 | 404 | ||
405 | spin_lock(&sclp_lock); | 405 | spin_lock(&sclp_lock); |
406 | finished_sccb = S390_lowcore.ext_params & 0xfffffff8; | 406 | finished_sccb = param32 & 0xfffffff8; |
407 | evbuf_pending = S390_lowcore.ext_params & 0x3; | 407 | evbuf_pending = param32 & 0x3; |
408 | if (finished_sccb) { | 408 | if (finished_sccb) { |
409 | del_timer(&sclp_request_timer); | 409 | del_timer(&sclp_request_timer); |
410 | sclp_running_state = sclp_running_state_reset_pending; | 410 | sclp_running_state = sclp_running_state_reset_pending; |
@@ -819,12 +819,12 @@ EXPORT_SYMBOL(sclp_reactivate); | |||
819 | 819 | ||
820 | /* Handler for external interruption used during initialization. Modify | 820 | /* Handler for external interruption used during initialization. Modify |
821 | * request state to done. */ | 821 | * request state to done. */ |
822 | static void | 822 | static void sclp_check_handler(unsigned int ext_int_code, |
823 | sclp_check_handler(__u16 code) | 823 | unsigned int param32, unsigned long param64) |
824 | { | 824 | { |
825 | u32 finished_sccb; | 825 | u32 finished_sccb; |
826 | 826 | ||
827 | finished_sccb = S390_lowcore.ext_params & 0xfffffff8; | 827 | finished_sccb = param32 & 0xfffffff8; |
828 | /* Is this the interrupt we are waiting for? */ | 828 | /* Is this the interrupt we are waiting for? */ |
829 | if (finished_sccb == 0) | 829 | if (finished_sccb == 0) |
830 | return; | 830 | return; |