aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/entry.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/mach-common/entry.S')
-rw-r--r--arch/blackfin/mach-common/entry.S15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index ccfa7c490ff9..1fa414f7852f 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -966,6 +966,13 @@ ENTRY(_evt_evt14)
966#else 966#else
967 cli r0; 967 cli r0;
968#endif 968#endif
969#ifdef CONFIG_TRACE_IRQFLAGS
970 [--sp] = rets;
971 sp += -12;
972 call _trace_hardirqs_off;
973 sp += 12;
974 rets = [sp++];
975#endif
969 [--sp] = RETI; 976 [--sp] = RETI;
970 SP += 4; 977 SP += 4;
971 rts; 978 rts;
@@ -989,6 +996,14 @@ ENTRY(_schedule_and_signal_from_int)
989 p1 = rets; 996 p1 = rets;
990 [sp + PT_RESERVED] = p1; 997 [sp + PT_RESERVED] = p1;
991 998
999#ifdef CONFIG_TRACE_IRQFLAGS
1000 /* trace_hardirqs_on() checks if all irqs are disabled. But here IRQ 15
1001 * is turned on, so disable all irqs. */
1002 cli r0;
1003 sp += -12;
1004 call _trace_hardirqs_on;
1005 sp += 12;
1006#endif
992#ifdef CONFIG_SMP 1007#ifdef CONFIG_SMP
993 GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */ 1008 GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */
994 r0 = [p0 + PDA_IRQFLAGS]; 1009 r0 = [p0 + PDA_IRQFLAGS];