On Mon, Feb 18, 2002 at 02:35:59PM +0100, Edouard TISSERANT wrote:
> Some weeks ago I asked some questions about "sharing IRQ" between RT and
> Linux.
>
> In fact, the unique PCI slot on my target share the same PCI IRQ pin as the
> ethenet chip embedded on mother board. In wanted to use a PCI board in this
> slot from my RTLinux app and use network from Linux.
>
> So I wanted to signal IRQ to Linux after having handled it in my rt irq
> handler.
>
> Nobody have realy answered to my questions. So I had to find how to do that.
>
> Maybe will it usefull to someone who have the same problem.
>
> If someone think that there is something wrong, please tell it.
That's a perfectly good solution.
>
> ****************************
> #include <rtl_sched.h>
>
> static struct sigaction oldact;
> static int my_irq=/* Your IRQ*/
>
> void my_irq_handler(int sig)
> {
> /* Your code here*/
> pthread_kill(pthread_linux(), RTL_LINUX_MIN_SIGNAL+my_irq);
> }
>
> int init_module(void)
> {
> struct sigaction act;
>
> act.sa_handler = my_irq_handler;
> act.sa_flags = SA_FOCUS;
> act.sa_focus = 1 << rtl_getcpuid();
>
> rtl_hard_disable_irq(my_irq)
>
> if(sigaction (RTL_SIGIRQMIN + my_irq, &act, &oldact)){
> rtl_hard_enable_irq(my_irq);
> return -EAGAIN;
> }
>
> rtl_hard_enable_irq(my_irq);
> return 0;
> }
>
> void cleanup_module(void) {
> sigaction (RTL_SIGIRQMIN + my_irq, &oldact, NULL);
> }
>
> ****************************
>
> Edouard
>
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
--
---------------------------------------------------------
Victor Yodaiken
Finite State Machine Labs: The RTLinux Company.
www.fsmlabs.com www.rtlinux.com
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/