Camera KMD ISP学习笔记(8)-Camera SMMU
仅用于个人学习,侵联删
SMMU/IOMMU:处理IO Device DMA访问内存的计算机硬件,实现dma addr(IOVA)到物理地址的映射
MMU:处理CPU访问内存的计算机硬件,实现CPU虚拟地址到物理地址的映射
SMMU && DMA:
DMA:IO设备不通过CPU而直接与内存交换数据的接口技术
DMA不能像CPU一样通过MMU操作虚拟地址
DMA可以访问两种形式的内存:
1、预留连续的物理地址供DMA使用(浪费内存)
2、通过SMMU将buffer里面不连续的物理地址和dma addr映射,IO设备使用dma addr就可以实现IO设备DMA访问不连续物理内存的功能
SMMU工作:
StreamId:device通过物理线连接到SMMU,这个streamID就是用来标识SMMU上连接的设备,SMMU驱动会为各个streamID创建页表
STE:stream Table entry,可以理解为SMMU页表转换的第一级索引,每一个streamID代表着一个STE,通过这个STE指向的连接可以找到真正的虚拟地址->物理地址转换的页表
CD:Context Descriptor,stage 1的页表配置项,它其中的TTB0指向了真正的页表信息,比如PGD
StreamID、STE、CD与页表的关系: