mirror of
https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git
synced 2025-12-02 21:01:12 +08:00
tmp
This commit is contained in:
@@ -61,7 +61,7 @@ GIC V3里新增加了一类中断:LPI(Locality-specific Peripheral Interrupts)
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
对于原来的SPI,它也是可以使用MSI的方式传递的,这个功能时可选的。如果GICv3支持MSI方式的SPI,要产生/清除中断时,操作如下GIC寄存器:
|
对于原来的SPI,它也是可以使用MSI的方式传递的,这个功能是可选的。如果GICv3支持MSI方式的SPI,要产生/清除中断时,操作如下GIC寄存器:
|
||||||
|
|
||||||
* 产生中断:写寄存器GICD_SETSPI_NSR 或 GICD_SETSPI_SR
|
* 产生中断:写寄存器GICD_SETSPI_NSR 或 GICD_SETSPI_SR
|
||||||
* 清除中断:写寄存器GICD_CLRSPI_NSR 或 GICD_CLRSPI_SR
|
* 清除中断:写寄存器GICD_CLRSPI_NSR 或 GICD_CLRSPI_SR
|
||||||
@@ -69,11 +69,35 @@ GIC V3里新增加了一类中断:LPI(Locality-specific Peripheral Interrupts)
|
|||||||
对于LPI中断,有两种触发方式:
|
对于LPI中断,有两种触发方式:
|
||||||
|
|
||||||
* 写寄存器GITS_TRANSLATER
|
* 写寄存器GITS_TRANSLATER
|
||||||
|
* 设备把数据写入GITS_TRANSLATER寄存器,写入的值被称为EventID
|
||||||
|
*
|
||||||
* 写寄存器GICR_SETLPIR
|
* 写寄存器GICR_SETLPIR
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 1. LPI
|
#### 2.3 中断号
|
||||||
|
|
||||||
|
0~1023跟GICv2保存一致。
|
||||||
|
|
||||||
|
| INTID | 中断类型 | 描述 |
|
||||||
|
| ------------- | -------- | ------------------------ |
|
||||||
|
| 0~15 | SGI | |
|
||||||
|
| 16~31 | PPI | |
|
||||||
|
| 32~1019 | SPI | 设备发出的中断 |
|
||||||
|
| 1020~1023 | SPI | 用于特殊目的 |
|
||||||
|
| 1024~1055 | - | 保留 |
|
||||||
|
| 1056~1119 | PPI | 扩展的PPI,GICv3.1才支持 |
|
||||||
|
| 1120~4095 | - | 保留 |
|
||||||
|
| 4096~5119 | SPI | 扩展的SPI,GICv3.1才支持 |
|
||||||
|
| 5120~8191 | - | 保留 |
|
||||||
|
| 8192~芯片实现 | LPI | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 2. LPI的触发方式
|
||||||
|
|
||||||
LPI有两种触发中断的方式:
|
LPI有两种触发中断的方式:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user