ARM CCA机密计算架构软件栈之Realm资源管理

ARM CCA(Confidential Compute Architecture)的 Realm资源管理遵循主机控制原则,确保主机在内存和CPU资源分配上拥有主导权。内存以4KB的Granule单位管理,通过委派和取消委派进行分配和回收。RMM(Realm Manager)负责验证请求的有效性,维持系统一致性,防止非法操作。领域数据、RTT、RD和REC等关键元素的管理确保了安全性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

领域资源管理的基本原则是主机保持控制。这意味着主机决定使用哪个物理内存来支持给定的领域中间物理地址(IPA),或者存储RMM使用的Realm元数据的给定片段。

主机始终可以重新获取此物理内存,而无需得到领域的同意。同样,主机仍然控制CPU资源:它决定何时运行领域VCPU,并且可以导致该VCPU停止运行。

物理内存以Granule的单位进行管理,Granule的大小为最小实现的转换Granule的大小。在CCA系统中,Granule大小必须为4KB。将内存分配给领域分为两个步骤。首先,主机执行RMI命令以执行称为委派的操作,这导致主机选择的Granule从非安全PAS过渡到领域PAS。然后,主机执行另一个RMI命令以请求RMM将该Granule用作“RMM对象”,其中每个对象都具有特定的关联目的:

  • 领域数据 - 映射到领域地址空间的内存。
  • 领域翻译表(RTT) - 描述领域IPA空间的属性。
  • 领域描述符(RD) - 存储领域的属性。
  • 领域执行上下文(REC) - 存储领域VCPU状态。

为了收回Granule,主机执行相反的步骤。首先,主机请求RMM释放当前使用的Granule。然后,主机请求RMM取消委派Granule,导致其内容被擦除并且Granule过渡回非安全PAS。

在每种情况下,RMM都会检查请求是否有效,并且仅在满足一组指定的前提条件时修改系统状态。例如,对非安全PAS中不存在的Granule进行委派的请求,或对RMM正在使用的Granule进行释放的请求,将以错误代码拒绝。

这种检查系统状态然后执行离散操作或失败并显示错误的模式广泛用于RMM ABI中,并允许RMM始终控制系统的一致性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全二次方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值