免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2303 | 回复: 2
打印 上一主题 下一主题

新手:Linux下中断处理的疑问 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-15 15:07 |只看该作者 |倒序浏览
最近要写一个驱动,不过避免地要用到中断。看着网上的资料先做一个练习,发现2.4和2.6差异很大,而2.6的不同版本之前也有变化,如中断处理函数原来是三个参数,后来变为两个了,真是麻烦。

好,发完了牢骚,明确一下问题:
1. 原来中断处理函数最后一个参数是什么含义,为什么去掉了?
2. 有资料说对于共享的中断,如果不是自己处理的设备应该返回IRQ_NONE,否则返回IRQ_HANDLED,后续不再处理。但我把自己的中断代码挂到网卡驱动的中断上之后,不管返回哪一个,我的网卡收发数据还是通的,难道是网卡的驱动中断总是在前面执行并且之后返回了IRQ_NONE?我用的环境是Fedora8.0,在虚拟机中安装的,由于host是双网卡的,guest里面也是两个brigded双网卡。
3. 编译时总是有一个Warning:
.../my_test/myirqtest.c:34: 警告:‘deprecated_irq_flag’ 已过时(于 include/linux/interrupt.h:64 声明)
我看了一下interrupt.h的代码,它是用一个inline函数生成SA_SHIRQ的,应该是这个导致的(可能是GCC的自有机制吧,反正没看明白)。不知道这样是不是隐含着什么问题?

PS: 对于系统编程而言,Linux的Manual Pages已经很仔细了,但对于驱动开发而言,在Manual Pages中是找不到request_irq等函数的,而由于各版本差异比较大,网上找也很是费劲。不知道大家平时是如何解决这一问题的?

论坛徽章:
0
2 [报告]
发表于 2008-05-16 09:48 |只看该作者
自己踢一下。这里居然还有字数限制。

论坛徽章:
0
3 [报告]
发表于 2008-06-09 15:49 |只看该作者
再踢一下。

主要是想确认下大家如何解决开发驱动需要的资料问题。内核接口不稳定,而且还找不到相关的资料,如pci_alloc_consistent函数google了很久也没有一个具体的解释。

现在在对着别的人代码及LDD3看,但这本书中关于PCI的部分讲的也很含糊,许多函数都没有提到,而给的示例只是没多大用的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP