欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > SMMU软件指南操作之翻译过程概述

SMMU软件指南操作之翻译过程概述

2025/4/24 8:49:33 来源:https://blog.csdn.net/yuxiaochen99/article/details/143982164  浏览:    关键词:SMMU软件指南操作之翻译过程概述

安全之安全(security²)博客目录导读


下图展示了每个传入事务(transaction)所经过的简化过程。本节描述了顶层翻译过程。

一个传入事务遵循以下步骤:

1. 如果 SMMU 被全局禁用,事务将直接通过 SMMU 而不进行任何地址改变。全局属性(如内存类型或共享属性memory type or Shareability)可能会从 SMMU 的 SMMU_GBPA 寄存器中应用,或者 SMMU_GBPA 寄存器可能会被配置为中止所有事务。

2. 如果全局绕过(bypass)不适用,则确定配置:

        a. 定位到一个流表项(STE,Stream Table Entry)。

        b. 如果 STE 启用第 2 级翻译,则 STE 包含第 2 级翻译表基址。

        c. 如果 STE 启用第 1 级翻译,则定位到上下文描述符(CD,Context Descriptor)。如果 STE 也启用了第 2 级翻译,则 CD 会从使用第 2 级翻译的 IPA 空间中获取。否则,CD 会从 PA 空间获取。

3. 如果配置有效,则执行翻译:

        a. 如果第 1 级配置为进行翻译,则 CD 包含指向第 1 级翻译表基址的指针,该表将被遍历。如果第 2 级翻译也为 STE 启用,则可能需要第 2 级翻译。如果第 1 级配置为绕过,则输入地址直接传递到第 2 级。
        b. 如果第 2 级配置为进行翻译,则 STE 包含第 2 级翻译表基址,用于执行第 2 级翻译。第 2 级翻译第 1 级的输出(如果第 1 级启用),或者翻译输入地址(如果第 1 级绕过)。如果第 2 级配置为绕过,则第 2 级的输入地址直接作为输出地址。

4. 当事务通过所有翻译阶段后,翻译后的地址和相关内存属性将被传递到系统中。

实现了领域管理扩展(RME)的 SMMU 在访问所有物理地址时,会受到粒度保护检查(GPC),前提是 GPC 启用。然而,获取粒度保护表(GPT)信息不受 GPC 影响。所有客户端设备访问物理地址时,必须对照 GPT 进行检查。SMMU 的这种行为与 A-profile 架构中的 FEAT_RME 相对应。有关 RME 的更多详细信息,请参见《Learn the architecture - Realm Management Extension》。

【注意】:此序列展示了非安全流中的事务路径。如果支持安全状态或领域状态,则安全流或领域流中的事务路径类似,除了SMMU_S_CR0.SMMUEN 和 SMMU_S_GBPA 控制绕过,或者 SMMU_R_CR0.SMMUEN 和 SMMU_R_GBPA 控制绕过。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词