diff options
Diffstat (limited to 'arch/s390/kernel/entry.S')
| -rw-r--r-- | arch/s390/kernel/entry.S | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index ed500ef799b7..08844fc24a2e 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
| @@ -61,22 +61,25 @@ STACK_SIZE = 1 << STACK_SHIFT | |||
| 61 | 61 | ||
| 62 | #ifdef CONFIG_TRACE_IRQFLAGS | 62 | #ifdef CONFIG_TRACE_IRQFLAGS |
| 63 | .macro TRACE_IRQS_ON | 63 | .macro TRACE_IRQS_ON |
| 64 | l %r1,BASED(.Ltrace_irq_on) | 64 | basr %r2,%r0 |
| 65 | l %r1,BASED(.Ltrace_irq_on_caller) | ||
| 65 | basr %r14,%r1 | 66 | basr %r14,%r1 |
| 66 | .endm | 67 | .endm |
| 67 | 68 | ||
| 68 | .macro TRACE_IRQS_OFF | 69 | .macro TRACE_IRQS_OFF |
| 69 | l %r1,BASED(.Ltrace_irq_off) | 70 | basr %r2,%r0 |
| 71 | l %r1,BASED(.Ltrace_irq_off_caller) | ||
| 70 | basr %r14,%r1 | 72 | basr %r14,%r1 |
| 71 | .endm | 73 | .endm |
| 72 | 74 | ||
| 73 | .macro TRACE_IRQS_CHECK | 75 | .macro TRACE_IRQS_CHECK |
| 76 | basr %r2,%r0 | ||
| 74 | tm SP_PSW(%r15),0x03 # irqs enabled? | 77 | tm SP_PSW(%r15),0x03 # irqs enabled? |
| 75 | jz 0f | 78 | jz 0f |
| 76 | l %r1,BASED(.Ltrace_irq_on) | 79 | l %r1,BASED(.Ltrace_irq_on_caller) |
| 77 | basr %r14,%r1 | 80 | basr %r14,%r1 |
| 78 | j 1f | 81 | j 1f |
| 79 | 0: l %r1,BASED(.Ltrace_irq_off) | 82 | 0: l %r1,BASED(.Ltrace_irq_off_caller) |
| 80 | basr %r14,%r1 | 83 | basr %r14,%r1 |
| 81 | 1: | 84 | 1: |
| 82 | .endm | 85 | .endm |
| @@ -1113,9 +1116,12 @@ cleanup_io_leave_insn: | |||
| 1113 | .Lschedtail: .long schedule_tail | 1116 | .Lschedtail: .long schedule_tail |
| 1114 | .Lsysc_table: .long sys_call_table | 1117 | .Lsysc_table: .long sys_call_table |
| 1115 | #ifdef CONFIG_TRACE_IRQFLAGS | 1118 | #ifdef CONFIG_TRACE_IRQFLAGS |
| 1116 | .Ltrace_irq_on: .long trace_hardirqs_on | 1119 | .Ltrace_irq_on_caller: |
| 1117 | .Ltrace_irq_off: | 1120 | .long trace_hardirqs_on_caller |
| 1118 | .long trace_hardirqs_off | 1121 | .Ltrace_irq_off_caller: |
| 1122 | .long trace_hardirqs_off_caller | ||
| 1123 | #endif | ||
| 1124 | #ifdef CONFIG_LOCKDEP | ||
| 1119 | .Llockdep_sys_exit: | 1125 | .Llockdep_sys_exit: |
| 1120 | .long lockdep_sys_exit | 1126 | .long lockdep_sys_exit |
| 1121 | #endif | 1127 | #endif |
