PCIe中断问题

发布于 2022-09-23 15:01:35 字数 250 浏览 19 评论 0

PCI Express卡,软硬件都我们自己做,通过MSI产生中断,总是出问题:

Message from syslogd@localhost at Feb  6 12:20:55 ...
kernel: Disabling IRQ #20

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

故笙诉离歌 2022-09-30 15:01:35

用MSI,中断还需要共享吗?中断号好多了啊。

要走干脆点 2022-09-30 15:01:35

原帖由 proware 于 2009-2-6 21:18 发表
用MSI,中断还需要共享吗?中断号好多了啊。

用了MSI中断号就多了吗?能处理的中断和CPU及中断控制器有关,MSI只是一种触发机制,最终还是要映射到标准的中断处理上的。反正我在HP的工作站上挂了中断处理不会被执行(当时板子上还没有设置发送MSI),而放到PCI上一挂上很快就被调用到,应该是有共享同一个中断号的中断吧。

何处潇湘 2022-09-30 15:01:35

原帖由 Cyberman.Wu 于 2009/2/6 20:31 发表
IRQ number: 20
Interrupt for Xilinx V5 running?
irq 20: nobody cared (try booting with the "irqpoll" option)

中断申请函数正常返回了吗?
产生了中断,却没有找到isr

天涯沦落人 2022-09-30 15:01:35

原帖由 Cyberman.Wu 于 2009-2-6 23:43 发表

用了MSI中断号就多了吗?能处理的中断和CPU及中断控制器有关,MSI只是一种触发机制,最终还是要映射到标准的中断处理上的。反正我在HP的工作站上挂了中断处理不会被执行(当时板子上还没有设置发送MSI),而 ...

如果你在内核配置时配置了使能MSI中断,那么诸如网口芯片(诸如82571等)的驱动就会使用MSI中断,你可以用:
cat /proc/interrupts 看看中断号

MSI是直接往某段内存写某个特定的值来引发相关的中断的吧。沿着enable_msi函数看下去,好像是这样的,具体的记不清楚了。

孤独患者 2022-09-30 15:01:35

原帖由 yidou 于 2009-2-7 12:57 发表

中断申请函数正常返回了吗?
产生了中断,却没有找到isr

这个应该只是结果,不是原因吧。前面两行是我自己打印的,第三行是系统打印的。但这个打印在我用irq_request挂了中断处理之后才有的,如果没加中断处理反而是没有的。

由于我挂的中断函数现在得不到任何执行了,我怀疑和硬件有关系,因为只是发一个中断报文时是好的,后来修改读清之后再也没正常过,但目前不知道从哪个方向去找。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文