summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/entry-armv.S
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-06-25 17:35:19 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-07-02 10:56:10 +0100
commitf2741b78b607576f0c256604cb3d9256b3428a32 (patch)
tree8c608ffc9b52a50a6fcf2eb04acf3a6f646fbef8 /arch/arm/kernel/entry-armv.S
parentbc089602d206b2abc2d2e8e5324d90342cc0447b (diff)
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>
Diffstat (limited to 'arch/arm/kernel/entry-armv.S')
-rw-r--r--arch/arm/kernel/entry-armv.S47
1 files changed, 8 insertions, 39 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index f863ee79093e..a5b2c40d44e8 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -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