SMMU VA->PA的转换流程介绍

一笔输入的transaction会经过以下几个逻辑步骤:
1. 如果smmu全局禁用(例如,刚结束复位smmu_cr0.smmuen == 0),则transaction将通过smmu而不进行任何地址转换。全局属性,例如 memory type或shareability,可能从smmu的smmu_gbpa寄存器应用,或者smmu_gbpa寄存器可以配置为abort所有transactions。
2. 如果smmu没有全局禁用或者全局bypass,则首先确定va->pa转换的配置:
• 索引到ste。
• 如果ste启用了stage2转换,则ste包含stage2 translation table base。
• 如果ste启用了stage1转换,则继续索引cd。如果ste启用了stage2转换,则从ipa空间获取cd,否则从pa空间获取cd。
3. 如果配置有效(ste+cd),则执行va->pa转换。
• 如果配置了stage1转换,则cd包含一个translation table base,否则bypass stage1转换,并将输入地址直接提供给stage2。
• 如果配置了stage2转换,则ste包含一个translation table base用于stage2(输入可能是va,也可能是stage1的输出ipa)。如果没有配置stage2,则输入就会直接作为输出地址(bypass)。
4. 具有有效配置且在va->pa转换过程中未发生fault的transaction将输出地址以及memory attributes。
上面步骤展示了non-secure stream transaction 处理的流程,如果支持 secure stream,则流程也是类似的。过程中使用到的寄存器有所区别: 
smmu_s_cr0.smmuen
smmu_s_gbpa
实现可能会根据需要cache这些步骤中的任何数据。此外,在处理过程中的几个stage可能会发生 fault。如果transaction未能找到有效配置,则会
terminated with an abort, and an event might be recorded。
如果transaction进展到transaction(已经找到了有效的配置),则fault可能出现在transaction的任一stage。如果发生了fault,其后的行为取决于使用的cd和ste的配置,确定是否terminated或者stalled。


VGA接口静电保护专用TVS二极管:DW05-4RVLC-E
iPhone8什么时候上市?iPhone8最新消息,iPhone8价格、配置、外观逐渐清晰,iphone8还值得我们等待吗?
拼多多正式上架iPhone12系列百亿补贴方案
极智嘉安全智能旗舰产品M600C重载搬运机器人获CE全指令证书
什么是vr技术
SMMU VA->PA的转换流程介绍
基立得将在爱尔兰投资设厂拓展LED欧洲市场
华为畅享9上手 符合年轻人的需求
MAX1302 8通道,串行16位ADC
HG5511D参数特性 60V低压MOS 40A结电容低 手机快充专用MOS管
传感器如何在可穿戴设备中与人工智能协同作用
采用NCL30100设计的LED驱动器电子电路
微信夜间模式即将上线 有望在下一个新版本亮相
什么是趋肤效应?磁滞回线是什么意思?
北京首次允许载人载物测试 助推商用车自动驾驶技术的提升
数字延时脉冲发生器DG645的技术参数
这样的配置简直没谁了?三星s8:大屏占比+骁龙835+2K屏+虹膜识别
华为悲壮的487天是中国芯片产业处境尴尬的现实折射
NVIDIA助力机器人技术的提升 为构建自主机器统一平台树立了里程碑
5G RedCap规模商用在即!轻量化5G打开物联网“中间市场”