IRQ handler

Philippe Gerum rpm at xenomai.org
Wed Oct 6 18:40:21 CEST 2004


On Wed, 2004-10-06 at 16:02, Thomas Jaehnert wrote:
> Dear mailing list,
> 
> i have the following hardware layout:
> 
> PC with AMD XP1100+
> PCI - Board which send a periodical interrupt
> RTAI - version 3.0
> kernel 2.4.24
> 
> My module consists of one periodic task and one IRQ-Handler for the pci 
> board. the periodic task works fine in standalone. But when i enable the 
> irq-handler the system halts immediately.
> 
> Is there anyone who can tell me what i have to do on the irq-handler start 
> and end?

If running over Adeos, your ISR needs to call rt_enable_irq() to
re-enable the interrupt source.

> How can i turn of all irq's so that my irq handler isn't preempted?

hard_save_flags_and_cli()
hard_restore_flags()

> Do I have to stop the scheduler in my irq-handler?

Yes, if you don't want to be scheduled out in case your ISR wakes up
task(s) which happen to be more prioritary than the one that has been
preempted by the interrupt your are currently processing.

Can I enable an irq-handler from within a hard realtime task?
> 

Yes.

> Thanks for answering
> 
> Thomas
> 
> P.S. I use the module ksched.o for scheduling my realtime task
> 
> 
> _______________________________________________
> RTAI mailing list
> RTAI at rtai.org
> https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
-- 

Philippe.





More information about the Rtai mailing list