用于 Linux 的可映射用户空间 DMA 缓冲区设备驱动程序。
u-dma-buf(用户空间可映射 DMA 缓冲区)================================================================================== # 概述 # u-dma-buf 简介 u-dma-buf 是一个 Linux 设备驱动程序,它在内核空间中分配连续内存块作为 DMA 缓冲区,并使其可供用户空间使用。这些内存块通常用作 DMA 缓冲区,当用户应用程序在用户空间中使用 UIO(用户空间 I/O)实现设备驱动程序时。由 u-dma-buf 分配的 DMA 缓冲区可以通过打开设备文件(例如 /dev/udmabuf0)并映射到用户内存空间,或者使用 read()/write() 函数来从用户空间访问。
可以通过在打开设备文件时设置 O_SYNC 标志来禁用分配的 DMA 缓冲区的 CPU 缓存。也可以在保持 CPU 缓存启用的情况下刷新或无效化 CPU 缓存。通过读取 /sys/class/u-dma-buf/udmabuf0/phys_addr 可以获取由 u-dma-buf 分配的 DMA 缓冲区的物理地址。DMA 缓冲区的大小和设备次要号可以在加载设备驱动程序时指定(例如通过 insmod 命令加载)。某些平台允许在设备树中指定这些参数。
暂无开放 Issues,或尚未同步最近议题。