On Sat 30 May 2009 23:54, Zhang, Sonic pondered: > Is this change to lower_to_irq14 necessary? CSYNC is executed before it > is called and IVHW is enabled in evt14 handler as well.
There is no change to lower_to_irq14. Only if #ifdef CONFIG_DEBUG_HWERR is turned on - otherwise it is exactly the same. -Robin > Sonic > > > ________________________________ > > From: [email protected] > [mailto:[email protected]] On Behalf Of > [email protected] > Sent: Sunday, May 31, 2009 6:20 AM > To: [email protected] > Subject: [Linux-kernel-commits] [6506] > trunk/arch/blackfin/mach-common/entry.S: Tweak ENTRY/ENDPROC, fix a few > comments, and add one more place for > > > > Revision > 6506 > <http://blackfin.uclinux.org/gf/project/linux-kernel/scmsvn/?action=brow > se&path=/&view=rev&root=linux-kernel&revision=6506> > Author > rgetz <http://blackfin.uclinux.org/gf/user/rgetz/> > Date > 2009-05-30 17:19:31 -0500 (Sat, 30 May 2009) > > > Log Message > > Tweak ENTRY/ENDPROC, fix a few comments, and add one more place > for > DEBUG_HWERR > > Modified Paths > > > * trunk/arch/blackfin/mach-common/entry.S > > > Diff > > > > Modified: trunk/arch/blackfin/mach-common/entry.S (6505 => 6506) > > > --- trunk/arch/blackfin/mach-common/entry.S 2009-05-30 > 15:06:56 UTC (rev 6505) > +++ trunk/arch/blackfin/mach-common/entry.S 2009-05-30 > 22:19:31 UTC (rev 6506) > @@ -866,7 +866,7 @@ > p1.h = _schedule_and_signal; > [p0] = p1; > csync; > - raise 15; /* raise evt14 to do signal or > reschedule */ > + raise 15; /* raise evt15 to do signal or > reschedule */ > 4: > r0 = syscfg; > bitclr(r0, 0); > @@ -946,10 +946,19 @@ > r0.h = hi(SAFE_USER_INSTRUCTION); > reti = r0; > #endif > - r0 = 0x401f; > + > +#ifdef CONFIG_DEBUG_HWERR > + /* enable irq14 & hwerr interrupt, until we transition > to _evt14_softirq */ > + r0 = (EVT_IVG14 | EVT_IVHW | EVT_IRPTEN | EVT_EVX | > EVT_NMI | EVT_RST | EVT_EMU); > +#else > + /* Only enable irq14 interrupt, until we transition to > _evt14_softirq */ > + r0 = (EVT_IVG14 | EVT_IRPTEN | EVT_EVX | EVT_NMI | > EVT_RST | EVT_EMU); > +#endif > sti r0; > raise 14; > rti; > +ENDPROC(_lower_to_irq14) > + > ENTRY(_evt14_softirq) > #ifdef CONFIG_DEBUG_HWERR > r0 = 0x3f; > @@ -960,8 +969,9 @@ > [--sp] = RETI; > SP += 4; > rts; > +ENDPROC(_evt14_softirq) > > -_schedule_and_signal_from_int: > +ENTRY(_schedule_and_signal_from_int) > /* To end up here, vector 15 was changed - so we have to > change it > * back. > */ > @@ -994,8 +1004,9 @@ > call _finish_atomic_sections; > sp += 12; > jump.s .Lresume_userspace; > +ENDPROC(_schedule_and_signal_from_int) > > -_schedule_and_signal: > +ENTRY(_schedule_and_signal) > SAVE_CONTEXT_SYSCALL > /* To end up here, vector 15 was changed - so we have to > change it > * back. > @@ -1013,7 +1024,7 @@ > 1: > RESTORE_CONTEXT > rti; > -ENDPROC(_lower_to_irq14) > +ENDPROC(_schedule_and_signal) > > /* We handle this 100% in exception space - to reduce overhead > * Only potiential problem is if the software buffer gets > swapped out of the > > > _______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
