distributor之Interrupt Set/Clear-Active Registers, GICD_IS/CACTIVERn

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. 



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值