ARM: entry: consolidate trace_hardirqs_off into (svc|usr)_entry macros
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 25 Jun 2011 16:35:19 +0000 (17:35 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 2 Jul 2011 09:56:10 +0000 (10:56 +0100)
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>
arch/arm/kernel/entry-armv.S

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