Skip to content

Commit

Permalink
ARM: entry: instrument svc undefined exception handler with irqtrace
Browse files Browse the repository at this point in the history
Add irqtrace function calls to the undefined exception handler, so
that we get sane lockdep traces from locking problems in undefined
exception handlers.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King committed Jul 2, 2011
1 parent 02fe284 commit df295df
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions arch/arm/kernel/entry-armv.S
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,10 @@ __und_svc:
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
Expand Down Expand Up @@ -300,6 +304,12 @@ __und_svc:
@ restore SPSR and restart the instruction
@
ldr r5, [sp, #S_PSR] @ Get SVC cpsr
#ifdef CONFIG_TRACE_IRQFLAGS
tst r5, #PSR_I_BIT
bleq trace_hardirqs_on
tst r5, #PSR_I_BIT
blne trace_hardirqs_off
#endif
svc_exit r5 @ return from exception
UNWIND(.fnend )
ENDPROC(__und_svc)
Expand Down

0 comments on commit df295df

Please sign in to comment.