SMMU 的基本使用场景
- 扩大设备DMA寻址范围,一些legacy设备DMA寻址是32bit,无法访问高32bit地址,通过SMMU的转换可以解决这个问题。同样的,当系统无法提供大块连续物理内存时,也可以通过SMMU转换让设备可以访问分散物理内存
- 一个SMMU可以有多个master设备,每个设备所看到的物理地址范围可通过SMMU进行隔离和划定,硬件提供了这种应用的灵活性,具体策略需要软件来实现。
- ARM体系结构中的安全域分为secure和normal域,secure具有更高的权限,理论上normal域的设备DMA无法访问划分为secure的物理地址,但是这种访问控制机制是如何实现的呢?就是通过SMMU,它可以使设备DMA master发出的请求带有secure域或Normal域的安全属性。
在一个大的SOC 系统中可以配置多个SMMU,比如 多媒体使用一个SMMU,PCIE 也可以配置一个SMMU,NI-700 使用一个smmu,NI-700的port可以连接SMMU的 TLB(cache)上,比如可以配置NI-700的两个port 连接到SMMU的两个TLB上,如果没有在TLB中找到对应的地址,那么就会进行table walker.
SMMU 名词缩写
Term |
---|