A problem about irq.
夏业添
summerxyt at gmail.com
Wed Apr 11 09:27:50 EDT 2012
Hi,
Recently, I am trying to test event channel on Xen. I write a module alloc
an event channel and try to bind this channel to an irq handler. But every
time I insmod the module, the kernel says that the action of binding fails.
I use a function defined in drivers/xen/events.c like this:
bind_evtchn_to_irqhandler(args.port,server_handler,IRQF_DISABLED,NULL,NULL);
And I must admit that I have very few knowledge of the interrupt handler
stuff and whether the last two parameters can be set NULL. So here are two
problem:
1)I really need some simple instruction and sample code about both the
interrupt handler and, especially, xen event channel.
2)And there is other odd thing. I try to check the
bind_evtchn_to_irqhandler, finding that it finally calls
request_irq()<http://www.codebrowse.net/source/xref/linux-3.0/include/linux/interrupt.h#request_irq>,
which calls request_threaded_irq()<http://www.codebrowse.net/source/xref/linux-3.0/include/linux/interrupt.h#request_threaded_irq>,
which calls request_irq() again.
But in another website, I find the
request_threaded_irq()<http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/kernel/irq/manage.c#L1346>defined
in the kernel/irq/manage.c#L1346. I'm totally confused.
Sorry for my poor English. If anyone knows the answer, please tell me.
Thanks a lot!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120411/ab60b6a9/attachment.html
More information about the Kernelnewbies
mailing list