linux arm irq ( 5):Linux ARM64 SoC GICv3
linux arm irq
(5) - Linux ARM64 SoC GICv3
Author: Yangkai Wang
wang_yangkai@163.com
Coding in 2026/08/16
转载请注明author,出处.
ARM64 SoC + GIC Linux 中断处理流程(简化)
Hardware Peripheral
│
│ interrupt
▼
GIC
│
│ INTID / HW interrupt number
▼
ARM64 CPU IRQ exception entry
│
▼
保存 CPU 寄存器现场
│
▼
Linux IRQ entry
│
▼
generic_handle_arch_irq()
│
▼
根据 HW IRQ / irq_domain
找到对应 Linux IRQ number
│
▼
irq_desc[irq]
│
▼
desc->handle_irq()
│
▼
IRQ flow handler
│
▼
handle_irq_event()
│
▼
irqaction
│
▼
action->handler()
│
▼
Driver ISR
│
├── 读取 peripheral IRQ status
├── 清除 peripheral IRQ
└── 处理/调度后续工作
│
▼
IRQ flow handler 完成
│
▼
GIC EOI / unmask 等操作
│
▼
irq_exit()
│
▼
恢复 CPU context
│
▼
eret
浙公网安备 33010602011771号