SMMU数据结构格式之Level 1 Stream Table Descriptor介绍

上图就是smmu level 1 stream table descriptor的数据格式,简称level1 std。
[4:0] span(跨度) 
描述level2 ste数组的大小和l2ptr的有效性。
如上图,当
span为0,表明该std是无效的,需要上报异常。
span为1-11,表明该std底下的level ste包含2^(span-1)个stes
span为12-31,reserved,也需要上报异常。
span必须在0到(smmu_strtab_base_cfg.split + 1)的范围内,即它必须保持在stream table split point的范围内。
传入事务streamid所对应的std span如果设置为
span == 0
span == reserved value
span out of bounds value given the split point
select a valid level 1 descriptor but are outside of the level 2 range 
都会视为无效。
[51:6] l2ptr
指向level-2 ste的起始位置。l2ptr[n:0]被smmu视为0,其中
n == 5 + (span - 1)  
因此,smmu将level-2 ste的起始地址对齐到其大小。在smmuv3.0中,l2ptr[51:48]是res0。超出oas或物理地址的行为是会上报异常的。
所有导致 stream table lookup未到达有效ste的事务都会终止,上报异常并可以记录事件c_bad_streamid(根据smmu_(s_)cr2.recinvsid设置)
当l1std更改时, non-leaf cmd_cfgi_ste是使l1std条目失效所需的最小范围invalidate命令。根据更改情况,也可能需要其他ste失效,例如:
将span == 0的inactive l1std更改为non-zero active span(引入新的部分level-2 ste)仅需要使l1std失效。
将span != 0的active l1std更改为inactive l1std需要使l1std以及受影响的缓存的ste失效。需要多个non-leaf cmd_cfgi_ste命令或更广泛的命令,如cmd_cfgi_ste_range或cmd_cfgi_all。


t6963c的c51程序
点胶机三大组成部分
SMCJ9.0E3/TR13 整卷3000个 STOCK
更智能的汽车可减少碰撞发生
基于以太网的汽车网络架构解决方法
SMMU数据结构格式之Level 1 Stream Table Descriptor介绍
韩国NF数字音频功放芯片的特点
智能手环如何充电
三星与京东2022年战略合作打造无忧购机体验
绍兴瞄准集成电路产业这一战略性新兴产业,全力打响 “芯”品牌
威马汽车携手美团打车 探索出行跨界新模式
利尔达获评“2022年度中国物联网企业100强”!
稳压二极管正负极_稳压二极管正负极判断_稳压二极管正负极接法
5G助推形成万亿级数字化平台
苹果将于6月举行发布会:iPhone8三大新功能期待吗
大数据管理局的设立加快智慧城市的转型
基于单目图像的深度估计算法,大幅度提升基于单目图像深度估计的精度
本生燃烧器的位置和火焰高度的介绍
COB微间距显示屏的发展趋势,它的优势是什么
采用前胆后石和集成电路BTL功率放大器完成音箱的设计