On Tue, 2010-02-09 at 11:46 +0100, Richard Cochran wrote: > On Fri, Nov 06, 2009 at 10:32:00AM +0100, Philippe Gerum wrote: > > On Fri, 2009-11-06 at 10:20 +0100, Richard Cochran wrote: > > > Yes, works fine now. Thanks for your help. > > I am working again on PowerPC, and I now notice that I spoke too > soon. I had fixed the problem for myself, in a different way. >
Could you try a recent patch, say 2.6.32? This issue should have been fixed there. > The fix you gave is still not quite right. > > > diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c > > index 8968b24..a4fe229 100644 > > --- a/arch/powerpc/kernel/smp.c > > +++ b/arch/powerpc/kernel/smp.c > > @@ -164,16 +164,16 @@ int smp_request_message_ipi(int virq, int msg) > > if (msg < 0 || msg > PPC_MSG_DEBUGGER_BREAK) { > > return -EINVAL; > > } > > Even if this block... > > > -#if !defined(CONFIG_DEBUGGER) && !defined(CONFIG_KEXEC) > > - if (msg == PPC_MSG_DEBUGGER_BREAK) { > > - return 1; > > - } > > -#endif > > > #ifdef CONFIG_IPIPE > > if (msg == PPC_MSG_DEBUGGER_BREAK) > > /* Piggyback the debugger IPI for the I-pipe. */ > > __ipipe_register_ipi(virq); > > #endif > > appears here... > > > +#if !defined(CONFIG_DEBUGGER) && !defined(CONFIG_KEXEC) > > + if (msg == PPC_MSG_DEBUGGER_BREAK) { > > + return 1; > > + } > > +#endif > > it still prevents the following call... > > > err = request_irq(virq, smp_ipi_action[msg], IRQF_DISABLED|IRQF_PERCPU, > > smp_ipi_name[msg], 0); > > The function, smp_request_message_ipi(), is called unconditionally > with virq=0,1,2,3, and 3=PPC_MSG_DEBUGGER_BREAK. AFAICT, ipipe needs > the call to request_irq() to go through. > > I suggest: > > #ifdef CONFIG_IPIPE > if (msg == PPC_MSG_DEBUGGER_BREAK) > /* Piggyback the debugger IPI for the I-pipe. */ > __ipipe_register_ipi(virq); > #else > #if !defined(CONFIG_DEBUGGER) && !defined(CONFIG_KEXEC) > if (msg == PPC_MSG_DEBUGGER_BREAK) { > return 1; > } > #endif > #endif > > Richard -- Philippe. _______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core