阅读:2001回复:7
请问如何在PCI卡之间共享IRQ?谢谢。
谢谢各位。
|
|
|
沙发#
发布于:2001-10-26 09:34
版主应该可以回答这个问题吧?
|
|
|
板凳#
发布于:2001-10-26 13:38
我的问题具体是这样的:
我现在在写一个PCI卡的驱动程序,但是我必须实现这块卡和其它种类的板卡共享IRQ,请问代码如何实现?谢谢,不胜感激。 |
|
|
地板#
发布于:2001-10-26 14:17
在linux下,request_irq中就有share_irq的标志,需要你为本块板卡指定一个device id,字符串。
windows下肯定也应该有这样的支持,我对这个不太懂,你需要自己查查资料。 dos下,你可以这样子实现:每块板卡的中断例程中,都判断本块板卡的中断状态位,如果发生中断了,就执行相应的中断处理。不管本块板卡的中断状态位是否变化,都要执行原来的该中断向量的执行例程(就是在你setvect之前保留的那个getvect的值)。 |
|
|
地下室#
发布于:2001-10-26 16:54
我想问一下windows系统提供的IRQ仲裁机制,在两个不同设备拥有相同的IRQ时,他们到底谁会响应这个中断,是两个设备都能相应吗?(类似广播机制?)
|
|
|
5楼#
发布于:2001-10-26 20:00
我还没有做过这么高难度的东西
|
|
|
6楼#
发布于:2001-10-31 17:27
linux下,没发生一个中断时,每个使用该中断的共享设备驱动程序都有机会被调用(我的印象中是这样),如何区分这次中断是属于自己管辖的呢?根据自己所驱动的硬件的中断状态位来判断就可以。
windows下的设备驱动程序,有权控制是否把中断信息继续传递下去,我觉得wdm的功能好强。我刚开始看wdm的书,^_*,如果说的不对,别怪我啊。 |
|
|
7楼#
发布于:2001-11-01 11:47
这个问题已经解决了,具体见我发表的另外一个帖子:“关于share IRQ的问题,几位大师如是说”。
|
|
|