arm SMMU

相当于x86下面的IOMMU,是不同架构的不同实现。统一在linux中的IOMMU框架内部,都由结构体 iommu_device 管理。

SMMU的作用是将设备的DMA请求地址翻译成可用的物理地址,当不开启SMMU时也可以直接使用DMA来搬运内存。SMMU是为了安全考虑中间加了一道。

结构体关系如下图,smmu domian和 iommu的domain的关系,以及iommu group的作用

arm SMMU_第1张图片

x86下通过intel_iommu=on 来开启

arm下通过 iommu.passthrough=1 来关闭

ref:

ARM SMMU的原理与IOMMU - 云+社区 - 腾讯云

你可能感兴趣的:(kernel,linux,arm,嵌入式硬件)