Hi,<br><br>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.<br>
<br>I use a function defined in drivers/xen/events.c like this:<br> bind_evtchn_to_irqhandler(args.port,server_handler,IRQF_DISABLED,NULL,NULL); <br><br>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:<br>
<br>1)I really need some simple instruction and sample code about both the interrupt handler and, especially, xen event channel. <br><br>2)And there is other odd thing. I try to check the bind_evtchn_to_irqhandler, finding that it finally calls <a href="http://www.codebrowse.net/source/xref/linux-3.0/include/linux/interrupt.h#request_irq">request_irq()</a>, which calls <a href="http://www.codebrowse.net/source/xref/linux-3.0/include/linux/interrupt.h#request_threaded_irq">request_threaded_irq()</a>, which calls request_irq() again.<br>
But in another website, I find the <a href="http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/kernel/irq/manage.c#L1346">request_threaded_irq()</a> defined in the kernel/irq/manage.c#L1346. I'm totally confused.<br><br>
Sorry for my poor English. If anyone knows the answer, please tell me. Thanks a lot!<br>