首页 > 解决方案 > linux内核中的低级IO

问题描述

我正在为生成一堆数据并将其存储在内存缓冲区中的设备编写驱动程序。驱动程序应读取此缓冲区并将数据存储到 nvme 存储。设备和内存缓冲区在 fpga 逻辑中实现。缓冲区大小约为1G。CPU 将它视为普通的 ram,但 linux 对此一无所知,这是一个问题。当我使用生物层来保存数据时,我需要一个 strust* 页面指针,但我没有。问题是:有没有办法只使用物理地址和大小来保存缓冲区中的数据?或者我必须使用页面,所以我需要以某种方式将此缓冲区添加到 linux 内存池。

标签: linuxiokerneldma

解决方案


推荐阅读