distributor之Interrupt Set/Clear-Active Registers, GICD_IS/CACTIVERn
2016-03-04 21:33
465 查看
set active寄存器。顾名思义就是把一个中断置为active状态,clear active寄存器就是清除active状态,在这里我们有必要说明一下中断状态的一些概念:
active状态:假设此时处理器正在处理这个中断的处理函数。那么我们能够说此时这个中断处于active状态。
pending状态:假设此时一个中断已经产生,可是处理器还未处理,那么我们能够说此时这个中断处于pending状态;
inactive状态:假设一个中断既不是active状态也不是pending状态,那么就称之为处于inactive状态;
active and pending状态:假设处理器正在运行一个中断的处理函数。此时这个中断的中断源又产生了一个中断,那么我们称之为此中断处于active and pending状态;
对于set active寄存器,写1有效,写0无效;读出来的值表示active状态。假设是1,表示此时此中断处于active状态。此寄存器相对于distributor的偏移区间为0x300-0x37C 。计算方法为:
For interrupt IDm, when DIV and
MOD are the integer division and modulo operations:
the corresponding GICD_ISACTIVERn number,n,
is given byn
=
m
DIV 32
the offset of the required GICD_ISACTIVERn is (0x300+
(4*n))
the bit number of the required Set-active bit in this register is mMOD 32.
对于clear active寄存器,写1有效。写0无效。读出来的值表示active状态,假设是1。表示此时此中断处于active状态。此寄存器相对于distributor的偏移区间为0x380-0x3FC ,计算方法为:
For interrupt IDm, when DIV and
MOD are the integer division and modulo operations:
the corresponding GICD_ICACTIVERn number,n,
is given byn
=
m
DIV 32
the offset of the required GICD_ICACTIVERn is (0x380+
(4*n))
the bit number of the required Clear-active bit in this register is mMOD 32.
active状态:假设此时处理器正在处理这个中断的处理函数。那么我们能够说此时这个中断处于active状态。
pending状态:假设此时一个中断已经产生,可是处理器还未处理,那么我们能够说此时这个中断处于pending状态;
inactive状态:假设一个中断既不是active状态也不是pending状态,那么就称之为处于inactive状态;
active and pending状态:假设处理器正在运行一个中断的处理函数。此时这个中断的中断源又产生了一个中断,那么我们称之为此中断处于active and pending状态;
对于set active寄存器,写1有效,写0无效;读出来的值表示active状态。假设是1,表示此时此中断处于active状态。此寄存器相对于distributor的偏移区间为0x300-0x37C 。计算方法为:
For interrupt IDm, when DIV and
MOD are the integer division and modulo operations:
the corresponding GICD_ISACTIVERn number,n,
is given byn
=
m
DIV 32
the offset of the required GICD_ISACTIVERn is (0x300+
(4*n))
the bit number of the required Set-active bit in this register is mMOD 32.
对于clear active寄存器,写1有效。写0无效。读出来的值表示active状态,假设是1。表示此时此中断处于active状态。此寄存器相对于distributor的偏移区间为0x380-0x3FC ,计算方法为:
For interrupt IDm, when DIV and
MOD are the integer division and modulo operations:
the corresponding GICD_ICACTIVERn number,n,
is given byn
=
m
DIV 32
the offset of the required GICD_ICACTIVERn is (0x380+
(4*n))
the bit number of the required Clear-active bit in this register is mMOD 32.
相关文章推荐
- PHP中 post 与get的区别 详细说明
- 大三下学期计划
- C/C++的内存处理函数
- Mac OS Locate 查找文件指令
- debian中文输入法——拼音的解决方法
- VB.net中获取二维数组的元素个数
- 【SDOI2014】旅行
- windows下配置Mysql-5.7.9服务
- [SPM_hw1]记一次项目经历
- AppBarLayout的使用
- 源码分析:Java堆的创建
- 一个简单的时间片轮转多道程序内核代码分析
- 【ZOJ3229】Shoot the Bullet 有源汇上下界最大流
- 程序员的自我修养
- 在职场该保持一种什么姿态?高调还是低调
- 数据模型(待填)
- hdu1710 Binary Tree Traversals
- 使用Action,Data属性启动系统Activity
- [Guava源码日报](2)Strings分析
- SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-002- Spring的JSP标签之form标签(<sf:input><sf:errors><sf:form>)