Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 441504df authored by Yi Li's avatar Yi Li Committed by Mike Frysinger
Browse files

Blackfin: add support for irqflags tracing



Signed-off-by: default avatarYi Li <yi.li@analog.com>
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
parent 5aff1642
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -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
+15 −0
Original line number Diff line number Diff line
@@ -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];
+7 −0
Original line number Diff line number Diff line
@@ -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.  */