提交 441504df 编写于 作者: Y Yi Li 提交者: Mike Frysinger

Blackfin: add support for irqflags tracing

Signed-off-by: NYi Li <yi.li@analog.com>
Signed-off-by: NMike Frysinger <vapier@gentoo.org>
上级 5aff1642
...@@ -72,6 +72,11 @@ ...@@ -72,6 +72,11 @@
sti r0; sti r0;
#else #else
cli r0; cli r0;
#endif
#ifdef CONFIG_TRACE_IRQFLAGS
sp += -12;
call _trace_hardirqs_off;
sp += 12;
#endif #endif
[--sp] = RETI; /*orig_pc*/ [--sp] = RETI; /*orig_pc*/
/* Clear all L registers. */ /* Clear all L registers. */
...@@ -279,6 +284,13 @@ ...@@ -279,6 +284,13 @@
RETN = [sp++]; RETN = [sp++];
RETX = [sp++]; RETX = [sp++];
RETI = [sp++]; RETI = [sp++];
#ifdef CONFIG_TRACE_IRQFLAGS
sp += -12;
call _trace_hardirqs_on;
sp += 12;
#endif
RETS = [sp++]; RETS = [sp++];
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
......
...@@ -965,6 +965,13 @@ ENTRY(_evt_evt14) ...@@ -965,6 +965,13 @@ ENTRY(_evt_evt14)
sti r0; sti r0;
#else #else
cli r0; cli r0;
#endif
#ifdef CONFIG_TRACE_IRQFLAGS
[--sp] = rets;
sp += -12;
call _trace_hardirqs_off;
sp += 12;
rets = [sp++];
#endif #endif
[--sp] = RETI; [--sp] = RETI;
SP += 4; SP += 4;
...@@ -989,6 +996,14 @@ ENTRY(_schedule_and_signal_from_int) ...@@ -989,6 +996,14 @@ ENTRY(_schedule_and_signal_from_int)
p1 = rets; p1 = rets;
[sp + PT_RESERVED] = p1; [sp + PT_RESERVED] = p1;
#ifdef CONFIG_TRACE_IRQFLAGS
/* trace_hardirqs_on() checks if all irqs are disabled. But here IRQ 15
* is turned on, so disable all irqs. */
cli r0;
sp += -12;
call _trace_hardirqs_on;
sp += 12;
#endif
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */ GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */
r0 = [p0 + PDA_IRQFLAGS]; r0 = [p0 + PDA_IRQFLAGS];
......
...@@ -87,6 +87,13 @@ __common_int_entry: ...@@ -87,6 +87,13 @@ __common_int_entry:
sti r1; sti r1;
#else #else
cli r1; cli r1;
#endif
#ifdef CONFIG_TRACE_IRQFLAGS
[--sp] = r0;
sp += -12;
call _trace_hardirqs_off;
sp += 12;
r0 = [sp++];
#endif #endif
[--sp] = RETI; /* orig_pc */ [--sp] = RETI; /* orig_pc */
/* Clear all L registers. */ /* Clear all L registers. */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册