diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-09-06 14:18:17 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-11-06 10:41:40 +0530 |
commit | 0dafafc3ef42bad34fd446725cb9778c3bdd83a8 (patch) | |
tree | 2f61f879b892afe3001fdf7a5d93da40b4d532a8 /arch/arc/include/asm | |
parent | 54c8bff14d604de23d0718eee59c5436a4703fe5 (diff) | |
download | blackbird-op-linux-0dafafc3ef42bad34fd446725cb9778c3bdd83a8.tar.gz blackbird-op-linux-0dafafc3ef42bad34fd446725cb9778c3bdd83a8.zip |
ARC: Add support for irqflags tracing and lockdep
Lockdep required a small fix to stacktrace API which was incorrectly
unwindign out of __switch_to for the current call frame.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm')
-rw-r--r-- | arch/arc/include/asm/irqflags.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h index b68b53f458d1..cb7efc29f16f 100644 --- a/arch/arc/include/asm/irqflags.h +++ b/arch/arc/include/asm/irqflags.h @@ -151,16 +151,38 @@ static inline void arch_unmask_irq(unsigned int irq) #else +#ifdef CONFIG_TRACE_IRQFLAGS + +.macro TRACE_ASM_IRQ_DISABLE + bl trace_hardirqs_off +.endm + +.macro TRACE_ASM_IRQ_ENABLE + bl trace_hardirqs_on +.endm + +#else + +.macro TRACE_ASM_IRQ_DISABLE +.endm + +.macro TRACE_ASM_IRQ_ENABLE +.endm + +#endif + .macro IRQ_DISABLE scratch lr \scratch, [status32] bic \scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK) flag \scratch + TRACE_ASM_IRQ_DISABLE .endm .macro IRQ_ENABLE scratch lr \scratch, [status32] or \scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK) flag \scratch + TRACE_ASM_IRQ_ENABLE .endm #endif /* __ASSEMBLY__ */ |