首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

linux下X86架构IDT解析(5)

linux下X86架构IDT解析(5)

三、中断处理流程

        1.确定与中断或异常关联的向量i.
        2.读取由IDTR寄存器指向的IDT表中的第i项中断描述符。
        3.从GDTR寄存器获得GDT的基地址,并在GDT中查找,以获取IDT表中的第i项中断描述符的段选择符。
        4.特权级比较,以及一些入栈保护操作。
        5.装载cs和eip寄存器,其值分别为IDT表中第i项门的段选择符合偏移量字段。这样就可以转到对应的中断处理程序IRQn_interrupt执行(就是对IDT初始化的中断函数)。
        6.对应的中断处理程序IRQn_interrupt最后都会调用do_IRQ(i).再执行用户程序设置的中断处理函数。
        如图所示:
继承事业,薪火相传
返回列表