GICv3软件overview手册之GICv3基本功能(2)
中断控制器对每个SPI/PPI/SGI中断源维护了一个状态机。状态机包含以下四种状态:
(1)Inactive:中断源当前没有触发;
(2)Pending:中断源被触发,但还未被PE应答;
(3)Active:中断源被触发,且被PE应答;
(4)Active and Pending: 中断被PE应答,但中断源另一实例进入Pending状态;
NOTE: LPI没有active或active and pending状态。
下图显示了状态机的结构以及可能的转换。
中断的生命周期依赖于是否配置为电平中断或边沿中断。
1. 电平中断
Inactive to Pending
当触发中断源时,中断转换从Inactive到Pending。
在这个时候GIC发中断信号到PE(如果中断使能且存在足够的优先级)。
Pending to Active&Pending
当PE通过读取CPU接口的IAR寄存器来应答中断,中断转换从Pending到Active&Pending。
在中断异常产生时对寄存器的读取为中断处理路径的一部分。但软件也可以轮询IAR寄存器。
在此时GIC取消发往PE的中断源。
Active and Pending to Active
当外设de-assert中断信号时,中断转换从Active and Pending到Active。
这通常为了响应处理中断,执行在PE上在外设写状态寄存器。
Active to Inactive
当PE写CPU接口的EOIR寄存器时,中断转换从active到Inactive。
这表明PE完成了中断的处理。
2. 边沿中断
Inactive to Pending
当中断源被触发时,中断转换从Inactive到Pending。
在这个时候GIC发中断信号到PE(如果中断使能且存在足够的优先级)。
Pending to Active
当PE通过读取CPU接口的IAR寄存器来应答中断,中断转换从Pending到Active。在中断异常产生时对寄存器的读取为中断处理路径的一部分。但软件也可以轮询IAR寄存器。
在此时GIC取消发往PE的中断源。
Active to Acitve and Pending
当外设再次触发中断信号时,中断转换从active到active and pending。
Active and Pending to Active
当PE写CPU接口的EIOR寄存器时,中断从active到active and pending。
这表明PE完成中断的第一个实例的处理。在这个时候GIC又重新触发中断信号。
GICv3软件overview手册之GICv3基本功能(2)相关推荐
- GICv3软件overview手册之GICv3基本功能(4)
GICv3架构支持ARM trustZone技术.每个INTID都赋予给一个group和安全设置.GICv3支持三种合并,如表中所示: 中断类型 使用例子 Secure Group 0 EL3的中断( ...
- GICv3软件overview手册之GICv3基本功能(1)
本章描述与GICV3架构兼容的中断控制的基本操作.它也会描述不同的编程接口. 1. 中断类型 GICV3定义了如下中断类型: (1)SPI共享外设中断 这是一种全局外设中断,可路由到某个PE,或一组P ...
- GICv3软件overview手册之GICv3基本功能(5)
GICv3中断控制器的寄存器接口分为三组: (1)Distributor接口: (2)edistributor接口: (3)CPU接口: Distributor(GICD_*) Distributor ...
- GICv3软件overview手册之GICv3基本功能(3)
GICv3使用亲和路由来区分连接的PE,让中断路由到某个PE或某一组PE.PE的亲和性由4个8bit域表示. <affinity level3>.<affinity level2&g ...
- GICv3软件overview手册之介绍
本文档提供了GICv3特性的软件overview,并且描述GICV3中断控制器的操作.它也只是如何在裸机环境下配置GICV3中断控制器的简介. 本文档是ARM通用中断控制器架构手册V3.0和V4.0的 ...
- GICv3软件overview手册之虚拟化
ARMv8-A 可选择支持虚拟化.GICv3也支持虚拟化.GICv3对虚拟化的支持包括: (1)CPU接口寄存器的硬件虚拟化: (2)虚拟化中断: (3)维护中断: NOTE: GIC架构不提供虚拟化 ...
- GICv3软件overview手册之发送和接受SGI
SGI中断为软件产生中断,软件可以通过写中断控制器的寄存器触发该中断. 1. 产生SGI 在CPU接口中可以通过写SGI寄存器来产生一个SGI中断. 下图为SGI寄存器的基本格式: (1)控制SGI ...
- GICv3软件overview手册之GICv4对虚拟LPI的直接注入(2)
1. vPE和vINTID的映射 EventID-DeviceID的合并被映射到vPE和vINTID.当EventID和DeviceID相同时使用VMAPI命令: VMAPI <DeviceID ...
- GICv3软件overview手册之中断处理(2)
1. 执行优先级&抢占 PMR设置中断发给某个PE的最小优先级.GICv3架构存在执行优先级的概念.当PE应答一个中断时,它的执行优先级变成中断的.当PE写EOI寄存器时执行优先级返回之前的值 ...
最新文章
- Java综合知识总结_数据库篇
- redis 系列25 哨兵Sentinel (高可用演示 下)
- 请写出一段Python代码实现删除一个list里面的重复元素
- Kotlin 与 Java有什么区别(最全最新的)
- /etc/rc.local——开机自启配置文件
- 实用知识点梳理:BGP协议、调制解调技术、路由特点、VOIP、FTP、Cookie、滑动窗口协议与自动重传请求
- 3. 无重复字符的最长子串 golang
- infinite-scroll学习(二)
- Java web 第一天
- 巴西矿坝决堤事故已致58人死亡 多达300人失踪
- 相邻素数的差最大是多少c语言,怎么证明?相邻两个素数之差的最大值
- dvr行业的linux
- Nginx服务器的gzip压缩详解
- obs摄像头模糊_【OBS虚拟摄像头插件】OBS虚拟摄像头下载OBS VirtualCam v2020 官方版-趣致软件园...
- Python 命令行参数:Argparse 与 Click
- 将UTC日期字符串转为本地时间字符串,如@yyyy-MM-dd'T'HH:mm:ssZ转换为本地时间
- 新南威尔士大学预科学生宿舍
- C语言编写一个函数,实现计算并返回一个整数的平方(或立方)
- 白嫖小程序云存储空间,手撸你的专属云盘
- 从安装到连接,教你如何连上Mysql数据库
热门文章
- java通过ip地址获取相应对应的城市
- 物联网有哪些安全风险?物联网安全问题汇总
- 批量提取word doc文档中的表格
- 北航操作系统课程-第一次作业-操作系统引论1
- pic16f1829 c语言,PIC16F1829 串口初始化程序及应用
- 【基础知识】PCB布局设计入门步骤
- ASCII表完整版(包含16进制对应表)——看看16进制与10进制的转化
- 一些常用的网站或工具(二)
- aspectjweaver.jar+ aopalliance.jar+mchange-commons-java.jar+cglib.jar官网下载
- 维特比算法的简单实现