>
> > I realize that interrupt handlers are recommended to be implemented
> in
> > user space, but a user space implementation does not work either,
>
> Definitely not. Interrupts handlers in user-space are not recommended.
> At all.
Oops, good to know. I could have sworn I read that somewhere, but thanks
for setting me straight. I gather from Phillipe's response that I should
be using the RTDM API, so I will switch to that.
>
> > so I moved into the kernel to see if I could get something to work.
> >
> > Is it possible to install an Xenomai ISR on a powerpc virtual irq?
>
> Normally it should be. If the GPIO interrupts are multiplexed (several
> GPIOs on the same parent irq), you should look for the parent irq
> handler and see that:
> - its code is safe to be called from xenomai domain
> - it calls ipipe_handle_chained_irq for the individual demultiplexed
> gpio interrupts instead of generic_handle_irq
>
> Note that a bug in multiplexed GPIO interrupts has been fixed very
> recently. You may want to upgrade to the I-pipe core for linux 3.2,
> currently only available as a git repository:
>
> git://git.denx.de/ipipe.git branch core-3.2
>
> Which also requires xenomai sources from the git repository:
>
> git://git.xenomai.org/xenomai-2.6.git branch master
>
There was a call to generic_handle_irq that should have been calling
ipipe_handle_chained_irq so I have a fix for the problem. Here is a
diff:
diff -r 0f7a4ec77dc0 arch/powerpc/sysdev/mpc8xxx_gpio.c
--- a/arch/powerpc/sysdev/mpc8xxx_gpio.c Mon Jun 04 11:04:14 2012 -0400
+++ b/arch/powerpc/sysdev/mpc8xxx_gpio.c Fri Jun 08 10:39:40 2012 -0400
@@ -151,7 +151,7 @@
mask = in_be32(mm->regs + GPIO_IER) & in_be32(mm->regs + GPIO_IMR);
if (mask)
- generic_handle_irq(irq_linear_revmap(mpc8xxx_gc->irq,
+ ipipe_handle_chained_irq(irq_linear_revmap(mpc8xxx_gc->irq,
32 - ffs(mask)));
}
I did not see this in the core-3.2 branch of the ipipe git, so you may need to
merge this in. Let me know if I should be providing this fix in another form.
Cheers,
Chris.
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai