ARM GIC(七)gicv3架构-power控制

122 篇文章 175 订阅

从gic3开始,cpu interface放到了PE中,因此cpu interface和PE是同一个power domain。

而属于gic的其他组件,如redistributor,distributor,是另外一个power domain。

因此就有如下一种情况,PE和cpu interface的电源给断掉了,而gic的电源并没有断掉。此时gic给cpu interface发送数据,cpu interface是不会响应的。

在这种情况下,gic提供了power管理功能。

一、GICR_WAKER寄存器

gic中,提供了如下的 GICR_WAKER 寄存器,来支持power功能。

在这里插入图片描述
其寄存器描述如下:
在这里插入图片描述

二、断电cpu interface和PE

在cpu interface和PE要断电之前,软件要保证,通知redistributor,cpu interface和PE要进入low-power状态。

软件,要往GICR_WAKER寄存器的ProcessorSleep字段,写入1,表示PE要进入到low-power状态。cpu interface之后将自己置为low-power状态之后,就将ChildrenAseep字段,设置为1。

当GICR_WAKER.ChildrenAsleep为1之后,redistributor,不会在将中断,发送给cpu interface,distributor,在中断仲裁时,也不会考虑该PE。

三、唤醒cpu interface和PE

当gic要唤醒cpu interface和PE时,也是操作这个 GICR_WAKER寄存器。

将processorsleep,写入0,然后去唤醒该cpu,最后读取childrenasleep,判断PE是否唤醒成功
在这里插入图片描述

原文首发于骏的世界博客
作者:卢骏.
更多Arm技术相关的文章请关注我,每周都有更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值