本片继续参考蜗窝大神的文章,且用4.19版本的内核进行透彻的分析。
http://www.wowotech.net/sort/irq_subsystem
一、前言
本文主要围绕IRQ number和中断描述符(interrupt descriptor)这两个概念描述通用中断处理过程。第二章主要描述基本概念,包括什么是IRQ number,什么是中断描述符等。第三章描述中断描述符数据结构的各个成员。第四章描述了初始化中断描述符相关的接口API。第五章描述中断描述符相关的接口API。
二、基本概念
1、通用中断的代码处理示意图
一个关于通用中断处理的示意图如下:
在linux kernel中,对于每一个外设的IRQ都用struct irq_desc来描述,我们称之中断描述符(struct irq_desc)。linux kernel中会有一个数据结构保存了关于所有IRQ的中断描述符信息,我们称之中断描述符DB(上图中红色