Blackfin: add support for irqflags tracing
Signed-off-by: Yi Li <yi.li@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
5aff1642ae
commit
441504df6b
3 changed files with 34 additions and 0 deletions
|
@ -72,6 +72,11 @@
|
|||
sti r0;
|
||||
#else
|
||||
cli r0;
|
||||
#endif
|
||||
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||
sp += -12;
|
||||
call _trace_hardirqs_off;
|
||||
sp += 12;
|
||||
#endif
|
||||
[--sp] = RETI; /*orig_pc*/
|
||||
/* Clear all L registers. */
|
||||
|
@ -279,6 +284,13 @@
|
|||
RETN = [sp++];
|
||||
RETX = [sp++];
|
||||
RETI = [sp++];
|
||||
|
||||
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||
sp += -12;
|
||||
call _trace_hardirqs_on;
|
||||
sp += 12;
|
||||
#endif
|
||||
|
||||
RETS = [sp++];
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
|
|
@ -965,6 +965,13 @@ ENTRY(_evt_evt14)
|
|||
sti r0;
|
||||
#else
|
||||
cli r0;
|
||||
#endif
|
||||
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||
[--sp] = rets;
|
||||
sp += -12;
|
||||
call _trace_hardirqs_off;
|
||||
sp += 12;
|
||||
rets = [sp++];
|
||||
#endif
|
||||
[--sp] = RETI;
|
||||
SP += 4;
|
||||
|
@ -989,6 +996,14 @@ ENTRY(_schedule_and_signal_from_int)
|
|||
p1 = rets;
|
||||
[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
|
||||
GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */
|
||||
r0 = [p0 + PDA_IRQFLAGS];
|
||||
|
|
|
@ -87,6 +87,13 @@ __common_int_entry:
|
|||
sti r1;
|
||||
#else
|
||||
cli r1;
|
||||
#endif
|
||||
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||
[--sp] = r0;
|
||||
sp += -12;
|
||||
call _trace_hardirqs_off;
|
||||
sp += 12;
|
||||
r0 = [sp++];
|
||||
#endif
|
||||
[--sp] = RETI; /* orig_pc */
|
||||
/* Clear all L registers. */
|
||||
|
|
Loading…
Reference in a new issue