免费注册 查看新帖 |

Chinaunix

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

[中断] 中断向量,IRQ描述符,中断门描述符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-06-17 19:27 |只看该作者 |倒序浏览
书上说每个中断向量都有一个irq_desc_t 描述符,这个描述符含有字段action,action指向中断服务例程,而IDT中的门描述符也含有中断处理程序的地址,那么这两个中断处理程序是什么关系呢?

论坛徽章:
0
2 [报告]
发表于 2013-06-19 01:19 来自手机 |只看该作者
那是外部中断irq_desc数组,只是针对外部中断的。系统有预留中断向量vector031用作异常,是没有action指针的。可以说256个向量分成两部分。但中断发生都要过中断控制器,前32个直接跳到系统初始化时设置进IDT门里的地址,后224个也经过IDT门,但都跳到do_irq处,再根据中断号在irq_desc[]里找到irq_desc_t的action执行

论坛徽章:
0
3 [报告]
发表于 2013-06-19 19:24 |只看该作者
能具体解释一下IDT中中断门描述符所指定的处理程序地址与irq_desc_t里面的action指向的Irqaction处理程序之间的关系吗?

按照楼上的书法是不是可以理解为中断发生后,都是通过门描述符跳到do_irq处,然后在do_irq中再根据中断号在irq_desc[]里找到irq_desc_t的action执行,如果这样的话,那么IDT中的门描述符指向的中断处理程序地址(也即段选择符和偏移字段)都是一样的了?

论坛徽章:
0
4 [报告]
发表于 2013-06-20 03:22 |只看该作者
回复 3# stuman


    从中断向量32~255中断门里的偏移都是一样的,指向do_irq。
    前32个向量系统留作异常,它们有各自的ISR。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP