免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zx_wing

《Interrupt in Linux(硬件篇)》(1楼有更新 2008.5.3) [复制链接]

论坛徽章:
0
发表于 2008-04-28 14:17 |显示全部楼层

回复 #20 zx_wing 的帖子

对于PIC,IMR即使置位,IRR也会设置的。IMR不影响IRR,只是不允许对应IRR参与中断优先级仲裁。

论坛徽章:
0
发表于 2008-04-28 14:21 |显示全部楼层
原帖由 bluesky_jxc 于 2008-4-28 14:17 发表
对于PIC,IMR即使置位,IRR也会设置的。IMR不影响IRR,只是不允许对应IRR参与中断优先级仲裁。

IRR是指PIC的IRR吗?
看来我看的还是不仔细啊,内核邮件列表有人说对于edge中断,即使mask掉,也会被pending住,在unmask的时候发给CPU。看来就是这个机制保证ISA接PIC不丢中断了。
补充的好,又搞清楚一个问题。不知道APIC有这个功能不,我当时找了找,没找到。

论坛徽章:
0
发表于 2008-04-28 14:42 |显示全部楼层

回复 #22 zx_wing 的帖子

我问过haitao同学,他问过老大,但是老大也说记不清楚了,一般说来,APIC并不会mask edge中断。(有待考证)

RemoteIRR的作用就是防止interrupt storm,而edge不会有这个问题,所以不需要RemoteIRR。

但是,我想不通的是,remoteIRR如果对Edge起作用会有什么问题,如果能够起作用,那么mask edge中断就不会有问题了,你的文章也没有提到这个问题。

另外,文章缺PIRTable。 这个很重要的,因为MPTable是需要操作系统切换到SMP才会起作用(描述PCI如何连接到IOAPIC),众所周知,SMP之前,操作系统是UP状态,因此需要知道PCI是如何连接到ISA中断的(否者你怎么读硬盘?因为硬盘也是接在PCI总线下游的南桥上的IDE接口上的)。

在ACPI中解决了这个问题,它提了一个SCI中断(没记错名字吧?),规定该中断时level的,因此可以被pci使用。因此就至少有一个中断 可用了。

有时间加上吧,如果你没有时间,把word传给我,我来补充

论坛徽章:
0
发表于 2008-04-28 14:44 |显示全部楼层

回复 #23 bluesky_jxc 的帖子

哦,有个笔误,IDE接口可以不用PCI中断,但是SATA是需要的。

论坛徽章:
0
发表于 2008-04-28 14:54 |显示全部楼层

回复 #22 zx_wing 的帖子

另外还有一个问题,你说APIC ID 4 bit, 最多15个,另一个给IOAPIC。
我想知道广播是怎么实现的?难道有另外的线来实现?

论坛徽章:
0
发表于 2008-04-28 15:07 |显示全部楼层

回复 #23 bluesky_jxc 的帖子

>>我问过haitao同学,他问过老大,但是老大也说记不清楚了,一般说来,APIC并不会mask edge中断。(有待考证)
老大就是老大啊,刚才我仔细看了linux处理edge的部分,确实APIC情况不会去mask edge中断。

>>RemoteIRR的作用就是防止interrupt storm,而edge不会有这个问题,所以不需要RemoteIRR。
有道理,防止中断风暴的同时有保证不掉中断。

>>但是,我想不通的是,remoteIRR如果对Edge起作用会有什么问题,如果能够起作用,那么mask edge中断就不会有问题了,你的文章也没有提到这个问题。
呵呵,这个就是设计电路的人考虑的问题了。我想提到啊,但我不知道怎么设计这个电路。你必须有个部件可以把edge触发的中断hold住,在适当的时候在re-trigger吧。我数电知识还给老师好多年了。

>>另外,文章缺PIRTable。 这个很重要的,因为MPTable是需要操作系统切换到SMP才会起作用(描述PCI如何连接到IOAPIC),众所周知,SMP之前,操作系统是UP状态,因此需要知道PCI是如何连接到ISA中断的(否者你怎么读硬盘?因为硬盘也是接在PCI总线下游的南桥上的IDE接口上的)。
你说的微软定的那个PIRQ table spec吗?因为这个不是硬件规范,只是从操作系统看PCI中断的连接法。我没看,你帮忙补充吧。

>>在ACPI中解决了这个问题,它提了一个SCI中断(没记错名字吧?),规定该中断时level的,因此可以被pci使用。因此就至少有一个中断 可用了。
我不知道SCI是如何用的,但它是system control interrupt啊,具体怎么用在PCI上我不知道。

发给你了,你帮忙补充一下。

论坛徽章:
0
发表于 2008-04-28 15:09 |显示全部楼层
原帖由 bluesky_jxc 于 2008-4-28 14:54 发表
另外还有一个问题,你说APIC ID 4 bit, 最多15个,另一个给IOAPIC。
我想知道广播是怎么实现的?难道有另外的线来实现?

不用吧,IOAPIC不能接收中断消息,所以发给它也无所谓嘛

论坛徽章:
0
发表于 2008-04-28 15:12 |显示全部楼层

回复 #25 bluesky_jxc 的帖子

ICR里面有个dest shorthand的位,用来表示是否是广播,是广播的话,ID区域就不再care了。

谢谢haitao热情赞助

论坛徽章:
0
发表于 2008-04-28 15:16 |显示全部楼层
原帖由 bluesky_jxc 于 2008-4-28 15:12 发表
ICR里面有个dest shorthand的位,用来表示是否是广播,是广播的话,ID区域就不再care了。

谢谢haitao热情赞助

大哥,那个是发IPI用的。
IOAPIC也要广播消息啊,所以只要它自己不能接收就可以了。
如果你问如何发广播消息,IPI可以用dest shorthand。但一个通用的方法是吧RTE的destination field中的APIC ID写成0xff。

论坛徽章:
0
发表于 2008-04-28 15:18 |显示全部楼层

回复 #26 zx_wing 的帖子

>>呵呵,这个就是设计电路的人考虑的问题了。我想提到啊,但我不知道怎么设计这个电路。你必>>须有个部件可以把edge触发的中断hold住,在适当的时候在re-trigger吧。我数电知识还给老>>师好多年了。

remoteIRR不能做么?我想如果真有需求的话,这肯定不是实现的难题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP