diff options
Diffstat (limited to 'arch/s390/kernel/entry64.S')
| -rw-r--r-- | arch/s390/kernel/entry64.S | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index e7192e1cb678..8bccec15ea90 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
| @@ -544,8 +544,16 @@ pgm_no_vtime2: | |||
| 544 | lgf %r3,__LC_PGM_ILC # load program interruption code | 544 | lgf %r3,__LC_PGM_ILC # load program interruption code |
| 545 | lghi %r8,0x7f | 545 | lghi %r8,0x7f |
| 546 | ngr %r8,%r3 # clear per-event-bit and ilc | 546 | ngr %r8,%r3 # clear per-event-bit and ilc |
| 547 | je pgm_exit | 547 | je pgm_exit2 |
| 548 | j pgm_do_call | 548 | sll %r8,3 |
| 549 | larl %r1,pgm_check_table | ||
| 550 | lg %r1,0(%r8,%r1) # load address of handler routine | ||
| 551 | la %r2,SP_PTREGS(%r15) # address of register-save area | ||
| 552 | basr %r14,%r1 # branch to interrupt-handler | ||
| 553 | pgm_exit2: | ||
| 554 | TRACE_IRQS_ON | ||
| 555 | stosm __SF_EMPTY(%r15),0x03 # reenable interrupts | ||
| 556 | j sysc_return | ||
| 549 | 557 | ||
| 550 | # | 558 | # |
| 551 | # it was a single stepped SVC that is causing all the trouble | 559 | # it was a single stepped SVC that is causing all the trouble |
