二级中断控制器是个双重角色,在上级中断控制器看来他是个中断设备,在连接到他的下级设备来看,他是个中断控制器。所以处理完成基本的中断控制器管理功能:映射本地中断,还要多个动作:修改上级中断的默认irq Handler,向上级中断设置自己的链式中断处理函数。
中断控制的层级连接跟路由器的连接类似,路由设备分为路由模式和桥接模式。他的连接也是一样,分为1->N的模式和1->1的模式。

对于(1->1)关系连接,根中断控制器的根中断源与设备一一对应,在Sub Domain不需要为自己所管辖的中断源ID申请新的逻辑中断号,直接映射到对应的根中断源逻辑中断号就好了。使用Root Domain的根中断源的handler_irq来分发,这部分不详细展开
本文详细介绍了Linux系统中二级中断控制器的链式级联机制,包括链式级联的初始化、关系化以及中断产生后的调用栈。在N->1的拓扑方式中,中断处理函数由二级中断控制器驱动提供,通过上级中断控制器进行中断开关和应答。以GPIO按键为例,阐述了链式中断处理的具体工作流程。
订阅专栏 解锁全文
943

被折叠的 条评论
为什么被折叠?



