On Mon, 2010-01-25 at 23:29 -0500, Mike Frysinger wrote: > On Mon, Jan 25, 2010 at 23:17, <[email protected]> wrote: > > Revision 8233 Author adamliyi Date 2010-01-25 23:17:02 -0500 (Mon, 25 Jan > > 2010) > > > > Log Message > > > > Disable all irqs before calling trace_hardirqs_on(). > > Otherwise, trace_hardirqs_on() simply returns and "irqsoff" tracer cannot > > record expected trace. > > > > Modified: trunk/arch/blackfin/mach-common/entry.S (8232 => 8233) > > > > @@ -997,6 +997,9 @@ > > [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; > > wouldnt it be better to push/pop reti ? that's how we use it to avoid > messing with the IMASK state ... check out the _system_call code ...
trace_hardirqs_on() checks for IMASK to see if all irqs disabled. Add "cli r0" here is safe because right following this code, "sti r0" will be called to enable all irqs (IMASK is set to 0x1F (bfin_irq_flags)). -Yi _______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
