驱动程序

时间:2018-04-15 11:02:37

标签: kernel drivers memory pci

我有一个PCIE设备需要在系统RAM中分配(物理上连续的)暂存内存区域。问题源于它的大小:它必须 16 MiB

我一直在寻找一段时间,但这里描述的方法都没有能够分配如此大的内存块:https://kernelnewbies.org/KernelMemoryAllocation

作为临时解决方法,我尝试使用memmap=nn[KMG]$ss[KMG]内核命令行选项保留内存,但是以这种方式保留的区域无法映射到虚拟地址空间,我需要在处理之前零填充它到了设备上。

我正在寻找一种方法:

  1. 能够分配16 MiB的连续物理内存
  2. 不需要额外的内核cmd行选项,也不需要内核重新编译
  3. 分配的内存可以映射到虚拟地址空间,因此可以为零填充

0 个答案:

没有答案