查看powerpc linux 软件中断号 硬件中断号映射关系

nzmbzdn 2013-02-26 10:39:22

在基于powerpc的linux中,request_irq里填的是软件中断号,也就是/proc/interrupts 里的编号
很不幸的是他们不是一一对应,也没有线性规律
做移植的时候对着dts和手册反复比较,有时会有拿不准的时候
最好能够一目了然地流出来内核识别的软件中断号和硬件中断号的映射关系
于是可以在arch/powerpc/kernel/irq.c的irq_create_of_mapping()
里看到,软件中断号 硬件中断号是在这里完成映射的
在最后的return virq; 前面加一句
printk("!-_- hard %lu --- virtual %lu \n",hwirq,virq);

就这么简单,启动时就能一目了然看到对应关系了,对驱动移植很有帮助

!-_- hard 38 --- virtual 38
!-_- hard 14 --- virtual 16
!-_- hard 15 --- virtual 17
!-_- hard 37 --- virtual 37
!-_- hard 36 --- virtual 36
!-_- hard 35 --- virtual 35
!-_- hard 34 --- virtual 34
!-_- hard 33 --- virtual 33
!-_- hard 32 --- virtual 32
!-_- hard 19 --- virtual 19
!-_- hard 20 --- virtual 20
!-_- hard 9 --- virtual 18
!-_- hard 10 --- virtual 21
!-_- hard 18 --- virtual 22
!-_- hard 19 --- virtual 19
!-_- hard 16 --- virtual 23

------------------------------------------------------

root@MPC8313erdb:/# cat /proc/interrupts
CPU0
16: 26 IPIC Level i2c-mpc
17: 0 IPIC Level i2c-mpc
18: 224 IPIC Level serial
22: 4 IPIC Edge serial
23: 341 IPIC Level mpc83xx_spi
35: 0 IPIC Level enet_error
36: 1783 IPIC Level enet_rx
37: 544 IPIC Level enet_tx
77: 1 IPIC Level fsl-elbc
...全文
760 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
文虫并雕 2014-05-19
  • 打赏
  • 举报
回复
楼主你好~,现在用到了,感谢分享。 顺便问一句。我现在也是用powerpc 架构的这个软中断号是request_irq函数的参数,那么这个硬中断号是和硬件比如IO口一一对应吗?我指的是外部中断? 还有在arm 2440 中的request_irq函数里的中断号是硬的还是软的,多谢指点。
qdy08005325 2013-04-25
  • 打赏
  • 举报
回复
你这个硬件中断号怎么才2位
nansn 2013-04-09
  • 打赏
  • 举报
回复
有些平台,硬件中断号也是可以配置的
zhxhua2013 2013-02-26
  • 打赏
  • 举报
回复
相当实用!!!

744

社区成员

发帖
与我相关
我的任务
社区描述
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
  • Power Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧