gic的寄存器 gicv3的LPI中断

(1)gicv2的寄存器
gicv2寄存器,都是使用memory-mapped的方式去访问的
• ◾gicd_: distributor的寄存器
• ◾gich_: 虚拟interface的控制寄存器
• ◾gicv_:虚拟interface的控制寄存器
• ◾gicc_: 虚拟cpu interface的寄存器
1-distributor register
在这里插入图片描述
0x100-0x17c — 》 gicd_isenablern
这个地址范围内一共可以表示32个32bit的寄存器(n=0x7c/4+1)
所以n的值为0-31,共可以表示32*32=1024个中断
提供了2种访问方式:
• 一种是memory-mapped的访问
• 一种是系统寄存器访问
gicv3的lpi中断
• ◾在gicv3中,引入了一种新的中断类型。message based interrupts,消息中断 外设,不在通过专用中断线,向gic发送中断,而是写gic的寄存器,来发送中断。这样的一个好处是,可以减少中断线的个数,为了支持消息中断,gicv3,增加了lpi,来支持消息中断。并且为他分配了特别多的中断号,从8192开始,移植到16777216
• lpi的中断的配置,以及中断的状态,是保存在memory的表中,而不是保存在gic的寄存器中的。
• ◾gicr_propbaser:(64bit)保存lpi中断配置表的基地址
• ◾gicr_pendbaser: (64bit)保存lpi中断状态表的基地址
• 当外部发送lpi中断给redistributor,redistributor首先要查该表,也就是要访问memory来获取lpi中断的配置。为了加速这过程,redistributor中可以配置cache,用来缓存lpi中断的配置信息。
• 因为有了cache,所以lpi中断的配置信息,就有了2份拷贝,一份在memory中,一份在redistributor的cache中。如果软件修改了memory中的lpi中断的配置信息,需要将redistributor中的cache信息给无效掉。
• lpi实现的两种方法:
• ◾使用its,将外设发送到eventid,转换成lpi 中断号
• ◾forwarding方式,直接访问redistributor的寄存器gicr_serlpir,直接发送lpi中断
gicv2的bypass功能
gicv2支持中断旁路模式,也就是gic外部的fiq,irq直接接到core的fiq,irq上,相当于gic是不使能的。也就是cfgsdisable是有效的,将gic给无效掉。
gicv2支持bypass功能,这样gic就不起作用了,core的中断管脚,直接由soc的其他部门信号驱动。

物联网技术在智慧停车中的应用
新能源汽车-IMC数据采集系列集合
vivo Y19手机推出,搭载联发科Helio P65处理器
AMD移动CPU
国内IGBT产业链主要公司及主要产品
gic的寄存器 gicv3的LPI中断
如何看待今年发布的iPhone
TP4302B移动电源芯片概述及特点
MPS功能安全汽车开发流程MPSAFETM简介
WIFI和WAPI是什么意思,有什么区别?
pi调节器与PID控制的区别 _Matlab的pi调节器参数选取_MATLAB里面的PI控制问题
阻湿态微生物穿透测试仪的产品特点介绍
联发科发布Wi-Fi 7产品,今年上市助力VR游戏与远程办公
一部仙童史:半个半导体史
一文解析HDMI spec传输协议
3D的感知技术及实践
5G网络为边缘计算的发展与落地奠定了坚实的基础
锂电池保护IC的功能原理
在家就能轻松运动!莫比智能动感单车,让你无需再去健身房
DC电源模块关于转换率的问题