On Mon, 2006-09-11 at 14:20 +0200, Wolfgang Grandegger wrote:
> Matthias Fuchs wrote:
> > Hello Philippe,
> > 
> > that helps. I will do some further testing.
> > 
> > Matthias
> > 
> > 
> > On Monday 11 September 2006 12:20, Philippe Gerum wrote:
> >> It's likely an Adeos issue. Could you try this patch? TIA,
> >>
> >> --- arch/ppc/syslib/ppc4xx_pic.c~  2005-10-28 02:02:08.000000000 +0200
> >> +++ arch/ppc/syslib/ppc4xx_pic.c   2006-09-11 12:18:14.000000000 +0200
> >> @@ -72,7 +72,8 @@
> >>            mtdcr(DCRN_UIC_SR(UIC##n), mask);                       \
> >>            ACK_UIC##n##_PARENT                                     \
> >>    }                                                               \
> >> -  if (!(status & (IRQ_DISABLED | IRQ_INPROGRESS))) {              \
> >> +  if (!ipipe_root_domain_p ||                                     \
> >> +      !(status & (IRQ_DISABLED | IRQ_INPROGRESS))) {              \
> >>            ppc_cached_irq_mask[n] |= mask;                         \
> >>            mtdcr(DCRN_UIC_ER(UIC##n), ppc_cached_irq_mask[n]);     \
> >>    }                                                               \
> > 
> 
> Philippe, could you please explain the problem in more detail? And what 
> are the consequences for other PowerPC ARCs and PICs, also for Linux 2.4?

The issue lies in the fact that PICs *_end() routines may be called over
the Xenomai domain, and actually are, most of the time, since
xnintr_irq_handler() -which invokes xnarch_end_irq()- is always called
from the the Xenomai stage in the Adeos pipeline.

In such a case, we must not check for the Linux-defined IRQ bits (e.g.
IRQ_INPROGRESS), and always send the eoi, since those bits are not
relevant to the Xenomai context. The patch above ensures this.

And yes, the 2.4 patch has the very same problem, which should be fixed
the same way for all supported ppc platforms in the various PIC
management code. Oops.

> 
> Thanks.
> 
> Wolfgang.
> 
-- 
Philippe.



_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to