SMMU数据结构格式之Stream Table Entry...V和Config介绍

描述

DSS

 

[0] V Valid

 

V == 1'b0:意味着STE是invalid,STE中的其他语段都被IGNORED

V == 1'b1:意味着STE是valid,STE中的其他语段按照描述含义执行

更新一个valid STE时需要非常小心,因为此时SMMU可能会访问这个STE数据,这其中存在着“竞争race”。

选择到invalid STE的Device transaction将会报告abort,事务处理终止,并且记录下这个C_BAD_STE事件

STE 字段遵循 S1 前缀用于与 stage 1 translation相关的字段,S2 前缀用于与stage 2 translation相关的字段,以及其他不使用前缀的字段与特定translation stage 无关,同时适用Stage1和Stage2。

 

[3:1] Config[2:0] Stream configuration

 

DSS

DSS

如果stage 1未实现(SMMU_IDR0.S1P == 0),则设置 Config[2:0] == 0b1x1 是非法的。Config[0]可以是RAZ/WI。RAZ/WI Read-As-Zero, Writes Ignored. 

如果stage 2未实现(SMMU_IDR0.S2P == 0),则设置 Config[2:0] == 0b11x 是非法的。Config[1]可以是RAZ/WI。

如果实现了stage 2,并且不支持Secure stage 2(SMMU_S_IDR1.SEL2 == 0),并且 STE 是从Secure Stream table中获得的,则设置 Config[2:0] == 0b11x 也是非法的。

配置Secure STE为 STE.Config[2:0] == 0b11x,且 STE.S2AA64 == 0 是非法的。

在一个valid STE中(STE.V == 1):

S2前缀的字段(除了S2VMID)被IGNORED ,如果stage 2 bypasses translation (Config[1] == 0)

S1前缀的字段被IGNORED ,如果stage 1 bypasses translation (Config[1] == 0)

Note:当stage 1配置为translate时,需要根据域段S1DSS 和 S1Fmt 的描述以获取substream配置。





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分