一、介绍
关于中断的初始化我们从start_kernel函数开始
head_common.S
b start_kernel(void);
....
local_irq_disable(); /* 关中断 */
....
setup_arch(&command_line);
paging_init(mdesc);
devicemaps_init(mdesc);
early_trap_init(vectors); /* 设置异常向量表 */
...
....
trap_init(); /* 空函数 */
....
early_irq_init(); /* 初始化irq_desc数组,这里我们进行关注 */
init_IRQ(); /* 芯片相关的中断的初始化这里我们进行关注 */
....
local_irq_enable(); /* 开中断 */
二、初始化
其中我在3.16.57版本的内核中分析过