Linux 中断子系统(四):GIC中断初始化

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

以我手中的 imx6ull开发板为例。

如果使用设备树的话就需要在设备树中设置好中断属性信息,Linux 内核通过读取设备树中的中断属性信息来配置中断。对于中断控制器而言,设备树绑定信息参考文档 Documentation/devicetree/bindings/arm/gic.txt。

打开 imx6ull.dtsi 文件,其中的 intc 节点就是 I.MX6ULL 的中断控制器节点。

在设备树文件 kernel4.14/arch/arm/boot/dts/imx6ull.dtsi 中有

在这里插入图片描述
第 2 行,compatible 属性值为arm,cortex-a7-gic在 Linux 内核源码中搜索arm,cortex-a7- gic即可找到 GIC 中断控制器驱动文件。

第 3 行,#interrupt-cells 和 #address-cells、#size-cells 一样。表示此中断控制器下设备的 cells 大小,对于设备而言,会使用 interrupts 属性描述中断信息,#interrupt-cells 描述了 interrupts 属性的 cells 大小,也就是一条信息有几个 cells。每个 cells 都是 32 位整形值,对于 ARM 处理的 GIC 来说,一共有 3 个 cells,这三个 cells 的含义如下:

第一个 cells:中断类型,0 表示
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux

“Linux 中断子系统(四):GIC中断初始化” 的相关文章