update doc

This commit is contained in:
weidongshan
2021-06-29 14:26:38 +08:00
parent cefa46de9c
commit f7e65b5ea3
2 changed files with 48 additions and 4 deletions

View File

@@ -4,6 +4,18 @@
* [linux kernel的中断子系统之GIC代码分析](http://www.wowotech.net/irq_subsystem/gic_driver.html)
* Linux 4.9.88内核源码
* `Linux-4.9.88\drivers\irqchip\irq-gic.c`
* `Linux-4.9.88/arch/arm/boot/dts/imx6ull.dtsi`
* Linux 5.4内核源码
* `Linux-5.4\drivers\irqchip\irq-gic.c`
* `Linux-5.4/arch/arm/boot/dts/stm32mp151.dtsi`
### 1. 回顾GIC中断处理流程
使用逐步演进的方法才能形象地理解。
@@ -47,9 +59,19 @@
### 2. GIC中的重要结构体
### 2. GIC中的重要函数和结构体
GIC的功能是什么
沿着中断的处理流程GIC涉及这4个重要部分
* CPU从异常向量表中调用handle_arch_irq这个函数指针是有GIC驱动设置的
* GIC才知道怎么判断发生的是哪个GIC中断
* 从GIC获得hwirq后要转换为virq需要有GIC Domain
* 调用irq_desc[virq].handle_irq函数这也应该由GIC驱动提供
* 处理中断时要屏蔽中断、清除中断等这些函数保存在irq_chip里由GIC驱动提供
从硬件上看GIC的功能是什么
* 可以使能、屏蔽中断
* 发生中断时可以从GIC里判断是哪个中断

View File

@@ -4,6 +4,18 @@
* [linux kernel的中断子系统之GIC代码分析](http://www.wowotech.net/irq_subsystem/gic_driver.html)
* Linux 4.9.88内核源码
* `Linux-4.9.88\drivers\irqchip\irq-gic.c`
* `Linux-4.9.88/arch/arm/boot/dts/imx6ull.dtsi`
* Linux 5.4内核源码
* `Linux-5.4\drivers\irqchip\irq-gic.c`
* `Linux-5.4/arch/arm/boot/dts/stm32mp151.dtsi`
### 1. 回顾GIC中断处理流程
使用逐步演进的方法才能形象地理解。
@@ -47,9 +59,19 @@
### 2. GIC中的重要结构体
### 2. GIC中的重要函数和结构体
GIC的功能是什么
沿着中断的处理流程GIC涉及这4个重要部分
* CPU从异常向量表中调用handle_arch_irq这个函数指针是有GIC驱动设置的
* GIC才知道怎么判断发生的是哪个GIC中断
* 从GIC获得hwirq后要转换为virq需要有GIC Domain
* 调用irq_desc[virq].handle_irq函数这也应该由GIC驱动提供
* 处理中断时要屏蔽中断、清除中断等这些函数保存在irq_chip里由GIC驱动提供
从硬件上看GIC的功能是什么
* 可以使能、屏蔽中断
* 发生中断时可以从GIC里判断是哪个中断