IRQ domain
IRQ domain用于将硬件的中断号,转换成Linux系统中的中断号(virtual irq, virq),来张图:
每个中断控制器都对应一个IRQ Domain;
中断控制器驱动通过irq_domain_add_*()接口来创建IRQ Domain;
IRQ Domain支持三种映射方式:linear map(线性映射),tree map(树映射),no map(不映射);
linear map:维护固定大小的表,索引是硬件中断号,如果硬件中断最大数量固定,并且数值不大,可以选择线性映射;
tree map:硬件中断号可能很大,可以选择树映射;
no map:硬件中断号直接就是Linux的中断号;
三种映射的方式如下图:
图中描述了三个中断控制器,对应到三种不同的映射方式;
各个控制器的硬件中断号可以一样,最终在Linux内核中映射的中断号是唯一的。
全部0条评论
快来发表一下你的评论吧 !