diff options
Diffstat (limited to 'arch/arm/kernel/entry-armv.S')
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 2d14081b26b1..9ef9a8266996 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -162,8 +162,6 @@ ENDPROC(__und_invalid) | |||
162 | @ r4 - orig_r0 (see pt_regs definition in ptrace.h) | 162 | @ r4 - orig_r0 (see pt_regs definition in ptrace.h) |
163 | @ | 163 | @ |
164 | stmia r5, {r0 - r4} | 164 | stmia r5, {r0 - r4} |
165 | |||
166 | asm_trace_hardirqs_off | ||
167 | .endm | 165 | .endm |
168 | 166 | ||
169 | .align 5 | 167 | .align 5 |
@@ -204,7 +202,7 @@ __dabt_svc: | |||
204 | @ | 202 | @ |
205 | @ IRQs off again before pulling preserved data off the stack | 203 | @ IRQs off again before pulling preserved data off the stack |
206 | @ | 204 | @ |
207 | disable_irq | 205 | disable_irq_notrace |
208 | 206 | ||
209 | @ | 207 | @ |
210 | @ restore SPSR and restart the instruction | 208 | @ restore SPSR and restart the instruction |
@@ -218,6 +216,9 @@ ENDPROC(__dabt_svc) | |||
218 | __irq_svc: | 216 | __irq_svc: |
219 | svc_entry | 217 | svc_entry |
220 | 218 | ||
219 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
220 | bl trace_hardirqs_off | ||
221 | #endif | ||
221 | #ifdef CONFIG_PREEMPT | 222 | #ifdef CONFIG_PREEMPT |
222 | get_thread_info tsk | 223 | get_thread_info tsk |
223 | ldr r8, [tsk, #TI_PREEMPT] @ get preempt count | 224 | ldr r8, [tsk, #TI_PREEMPT] @ get preempt count |
@@ -291,7 +292,7 @@ __und_svc: | |||
291 | @ | 292 | @ |
292 | @ IRQs off again before pulling preserved data off the stack | 293 | @ IRQs off again before pulling preserved data off the stack |
293 | @ | 294 | @ |
294 | 1: disable_irq | 295 | 1: disable_irq_notrace |
295 | 296 | ||
296 | @ | 297 | @ |
297 | @ restore SPSR and restart the instruction | 298 | @ restore SPSR and restart the instruction |
@@ -327,7 +328,7 @@ __pabt_svc: | |||
327 | @ | 328 | @ |
328 | @ IRQs off again before pulling preserved data off the stack | 329 | @ IRQs off again before pulling preserved data off the stack |
329 | @ | 330 | @ |
330 | disable_irq | 331 | disable_irq_notrace |
331 | 332 | ||
332 | @ | 333 | @ |
333 | @ restore SPSR and restart the instruction | 334 | @ restore SPSR and restart the instruction |
@@ -393,8 +394,6 @@ ENDPROC(__pabt_svc) | |||
393 | @ Clear FP to mark the first stack frame | 394 | @ Clear FP to mark the first stack frame |
394 | @ | 395 | @ |
395 | zero_fp | 396 | zero_fp |
396 | |||
397 | asm_trace_hardirqs_off | ||
398 | .endm | 397 | .endm |
399 | 398 | ||
400 | .macro kuser_cmpxchg_check | 399 | .macro kuser_cmpxchg_check |
@@ -465,9 +464,6 @@ __irq_usr: | |||
465 | THUMB( movne r0, #0 ) | 464 | THUMB( movne r0, #0 ) |
466 | THUMB( strne r0, [r0] ) | 465 | THUMB( strne r0, [r0] ) |
467 | #endif | 466 | #endif |
468 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
469 | bl trace_hardirqs_on | ||
470 | #endif | ||
471 | 467 | ||
472 | mov why, #0 | 468 | mov why, #0 |
473 | b ret_to_user | 469 | b ret_to_user |