![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux子系统--中断
文章平均质量分 87
差不太多先生
这个作者很懒,什么都没留下…
展开
-
中断子系统 -- 中断通用框架
不管哪种形式,最终都可以通过linux irq号来找到对应的中断描述符; 图的左侧灰色部分,主要在中断控制器驱动中进行初始化设置,包括各个结构中函数指针的指向等,其中struct irq_chip用于对中断控制器的硬件操作,struct irq_domain与中断控制器对应,完成的工作是硬件中断号到Linux irq的映射; 在设备申请注册中断的过程中进行设置,比如struct irqaction中handler的设置,这个用于指向我们设备驱动程序中的中断处理函数;irqaction以链表的形式组织,Irq原创 2023-09-14 14:37:42 · 124 阅读 · 0 评论 -
中断子系统 --- 硬件相关层
这部分与具体的CPU架构相关,不同的架构有不同的执行方式。以ARMv8为例,具体见下面的Arch-specific中断处理流程源码分析原创 2023-09-14 14:27:39 · 67 阅读 · 0 评论 -
中断子系统--硬件层(GICv3)
硬件层:最下层为硬件连接层,对应的是具体的外设与SoC的物理连接,中断信号是从外设到中断控制器,由中断控制器统一管理,再路由到处理器上; 硬件相关层:这个层包括两部分代码,一部分是架构相关的,比如ARM64处理器处理中断相关,另一部分是中断控制器的驱动代码; 通用层:这部分也可以认为是框架层,是硬件无关层,这部分代码在所有硬件平台上是通用的; 用户层:这部分也就是中断的使用者了,主要是各类设备驱动,通过中断相关接口来进行申请和注册,最终在外设触发中断时,进行相应的回调处理;原创 2023-08-08 20:31:58 · 457 阅读 · 0 评论