学习资料来源:https://deepinout.com/camx-kmd/camera-kmd-isp-subsystem-intro.html 仅用于个人学习,侵联删 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与页表的关系:
标签:DMA,SMMU,KMD,物理地址,Camera,页表,CPU,内存 From: https://www.cnblogs.com/lethe1203/p/18117580