u-dma-buf(用户空间可映射DMA缓冲区) 概述 u-dma-buf的介绍 u-dma-buf是Linux设备驱动程序,用于在内核空间中分配连续的内存块作为DMA缓冲区,并使它们在用户空间中可用。 当用户应用程序使用UIO(用户空间I / O)在用户空间中实现设备驱动程序时,打算将这些存储块用作DMA缓冲区。 通过打开设备文件(例如/ dev / udmabuf0)并映射到用户存储空间,或使用read()/ write()函数,可以从用户空间访问u-dma-buf分配的DMA缓冲区。 打开设备文件时,可以通过设置O_SYNC标志来禁用分配的DMA缓冲区的CPU缓存。 在保持启用CPU缓存的同时,还可以刷新或使CPU缓存无效。 u-dma-buf分配的DMA缓冲区的物理地址可以通过读取/sys/class/u-dma-buf/udmabuf0/phys_addr 。 加载设备驱
1