内核中断子系统 & 设备树关联实战

📚 共计 30 章节
01
中断基础概念
中断的定义、中断与轮询的区别、中断上下文、中断号与中断向量
概念入门
02
ARM GIC 架构
GIC v2/v3 基本概念、Distributor 与 CPU Interface、中断类型(PPI、SPI、LPI)
GICARM
03
设备树中断绑定
interrupt-parent、interrupts、interrupt-cells 属性详解
设备树绑定
04
中断控制器节点
设备树中如何描述 GIC、中断控制器级联
节点级联
05
中断映射与 irq_domain
irq_domain 的作用、线性映射与树形映射
映射irq_domain
06
中断号转换流程
从设备树中断描述到 Linux irq number 的完整路径
转换流程
07
中断控制器驱动框架
struct irq_chip、irq_domain_ops 回调函数
驱动框架
08
GICv2 驱动分析
gic_of_init、gic_irq_domain_alloc 源码走读
GICv2源码
09
中断请求与释放
request_irq、free_irq、devm_request_irq 的使用
API编程
10
中断处理函数
上半部与下半部、IRQF_SHARED 标志、中断上下文限制
处理上下文
11
中断下半部机制
tasklet、workqueue、threaded IRQ 的选择与对比
下半部机制
12
线程化中断
request_threaded_irq 原理、实时系统中的优势
线程实时
13
中断嵌套与中断优先级
Linux 内核的中断嵌套策略、优先级设置
嵌套优先级
14
中断亲和性
smp_affinity、中断绑定到特定 CPU
亲和性SMP
15
中断统计与调试
/proc/interrupts、/proc/irq、tracepoint 的使用
调试统计
16
设备树中断解析 API
irq_of_parse_and_map、of_irq_get 函数详解
API解析
17
级联中断控制器
多个中断控制器级联的设备树描述与驱动实现
级联驱动
18
GPIO 中断
设备树中 gpio 作为中断源、gpio_to_irq 函数
GPIO中断源
19
中断控制器级联实战
在设备树中添加二级中断控制器
实战级联
20
PCIe MSI/MSI-X 中断
设备树中 MSI 控制器描述、MSI 域
PCIeMSI
21
虚拟中断与 VFIO
KVM 中的中断直通、设备树传递虚拟中断
虚拟化VFIO
22
中断延迟测量
测量中断响应时间、ftrace 分析中断路径
延迟ftrace
23
中断风暴处理
检测与防止中断风暴、内核中的 mitigation 机制
风暴安全
24
设备树中断重映射
interrupt-map 与 interrupt-map-mask 属性
重映射设备树
25
多核系统中的中断分发
GIC 的 SPI 分发策略、中断负载均衡
多核分发
26
中断控制器电源管理
系统挂起/恢复时的中断处理、irq_chip 的 suspend/resume
电源PM
27
设备树中断测试框架
使用 software node 模拟中断、单元测试
测试模拟
28
中断子系统性能优化
减少中断延迟、使用 irq_poll 与 NAPI
优化性能
29
中断子系统常见 Bug 分析
丢失中断、中断递归、竞态条件
Bug调试
30
综合实战:自定义外设
为一个自定义外设编写设备树节点与中断驱动
实战综合