Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Blackfin: add support for irqflags tracing

Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

authored by

Yi Li and committed by
Mike Frysinger
441504df 5aff1642

+34
+12
arch/blackfin/include/asm/context.S
··· 73 73 #else 74 74 cli r0; 75 75 #endif 76 + #ifdef CONFIG_TRACE_IRQFLAGS 77 + sp += -12; 78 + call _trace_hardirqs_off; 79 + sp += 12; 80 + #endif 76 81 [--sp] = RETI; /*orig_pc*/ 77 82 /* Clear all L registers. */ 78 83 r0 = 0 (x); ··· 284 279 RETN = [sp++]; 285 280 RETX = [sp++]; 286 281 RETI = [sp++]; 282 + 283 + #ifdef CONFIG_TRACE_IRQFLAGS 284 + sp += -12; 285 + call _trace_hardirqs_on; 286 + sp += 12; 287 + #endif 288 + 287 289 RETS = [sp++]; 288 290 289 291 #ifdef CONFIG_SMP
+15
arch/blackfin/mach-common/entry.S
··· 966 966 #else 967 967 cli r0; 968 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 976 [--sp] = RETI; 970 977 SP += 4; 971 978 rts; ··· 996 989 p1 = rets; 997 990 [sp + PT_RESERVED] = p1; 998 991 992 + #ifdef CONFIG_TRACE_IRQFLAGS 993 + /* trace_hardirqs_on() checks if all irqs are disabled. But here IRQ 15 994 + * is turned on, so disable all irqs. */ 995 + cli r0; 996 + sp += -12; 997 + call _trace_hardirqs_on; 998 + sp += 12; 999 + #endif 999 1000 #ifdef CONFIG_SMP 1000 1001 GET_PDA(p0, r0); /* Fetch current PDA (can't migrate to other CPU here) */ 1001 1002 r0 = [p0 + PDA_IRQFLAGS];
+7
arch/blackfin/mach-common/interrupt.S
··· 88 88 #else 89 89 cli r1; 90 90 #endif 91 + #ifdef CONFIG_TRACE_IRQFLAGS 92 + [--sp] = r0; 93 + sp += -12; 94 + call _trace_hardirqs_off; 95 + sp += 12; 96 + r0 = [sp++]; 97 + #endif 91 98 [--sp] = RETI; /* orig_pc */ 92 99 /* Clear all L registers. */ 93 100 r1 = 0 (x);