ARM: entry: consolidate trace_hardirqs_off into (svc|usr)_entry macros

All handlers now call trace_hardirqs_off, so move this common code into
the (svc|usr)_entry assembler macros.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Russell King
2011-06-25 17:35:19 +01:00
parent bc089602d2
commit f2741b78b6

View File

@@ -179,16 +179,15 @@ ENDPROC(__und_invalid)
@ r6 - orig_r0 (see pt_regs definition in ptrace.h) @ r6 - orig_r0 (see pt_regs definition in ptrace.h)
@ @
stmia r7, {r2 - r6} stmia r7, {r2 - r6}
#ifdef CONFIG_TRACE_IRQFLAGS
bl trace_hardirqs_off
#endif
.endm .endm
.align 5 .align 5
__dabt_svc: __dabt_svc:
svc_entry svc_entry
#ifdef CONFIG_TRACE_IRQFLAGS
bl trace_hardirqs_off
#endif
dabt_helper dabt_helper
@ @
@@ -219,11 +218,6 @@ ENDPROC(__dabt_svc)
.align 5 .align 5
__irq_svc: __irq_svc:
svc_entry svc_entry
#ifdef CONFIG_TRACE_IRQFLAGS
bl trace_hardirqs_off
#endif
irq_handler irq_handler
#ifdef CONFIG_PREEMPT #ifdef CONFIG_PREEMPT
@@ -267,11 +261,6 @@ __und_svc:
#else #else
svc_entry svc_entry
#endif #endif
#ifdef CONFIG_TRACE_IRQFLAGS
bl trace_hardirqs_off
#endif
@ @
@ call emulation code, which returns using r9 if it has emulated @ call emulation code, which returns using r9 if it has emulated
@ the instruction, or the more conventional lr if we are to treat @ the instruction, or the more conventional lr if we are to treat
@@ -317,11 +306,6 @@ ENDPROC(__und_svc)
.align 5 .align 5
__pabt_svc: __pabt_svc:
svc_entry svc_entry
#ifdef CONFIG_TRACE_IRQFLAGS
bl trace_hardirqs_off
#endif
pabt_helper pabt_helper
mov r2, sp @ regs mov r2, sp @ regs
bl do_PrefetchAbort @ call abort handler bl do_PrefetchAbort @ call abort handler
@@ -401,6 +385,10 @@ ENDPROC(__pabt_svc)
@ Clear FP to mark the first stack frame @ Clear FP to mark the first stack frame
@ @
zero_fp zero_fp
#ifdef CONFIG_IRQSOFF_TRACER
bl trace_hardirqs_off
#endif
.endm .endm
.macro kuser_cmpxchg_check .macro kuser_cmpxchg_check
@@ -421,11 +409,6 @@ ENDPROC(__pabt_svc)
.align 5 .align 5
__dabt_usr: __dabt_usr:
usr_entry usr_entry
#ifdef CONFIG_IRQSOFF_TRACER
bl trace_hardirqs_off
#endif
kuser_cmpxchg_check kuser_cmpxchg_check
dabt_helper dabt_helper
@@ -438,11 +421,6 @@ ENDPROC(__dabt_usr)
.align 5 .align 5
__irq_usr: __irq_usr:
usr_entry usr_entry
#ifdef CONFIG_IRQSOFF_TRACER
bl trace_hardirqs_off
#endif
kuser_cmpxchg_check kuser_cmpxchg_check
irq_handler irq_handler
get_thread_info tsk get_thread_info tsk
@@ -457,10 +435,6 @@ ENDPROC(__irq_usr)
__und_usr: __und_usr:
usr_entry usr_entry
#ifdef CONFIG_IRQSOFF_TRACER
bl trace_hardirqs_off
#endif
mov r2, r4 mov r2, r4
mov r3, r5 mov r3, r5
@@ -679,11 +653,6 @@ ENDPROC(__und_usr_unknown)
.align 5 .align 5
__pabt_usr: __pabt_usr:
usr_entry usr_entry
#ifdef CONFIG_IRQSOFF_TRACER
bl trace_hardirqs_off
#endif
pabt_helper pabt_helper
mov r2, sp @ regs mov r2, sp @ regs
bl do_PrefetchAbort @ call abort handler bl do_PrefetchAbort @ call abort handler