如何在没有CMA的Linux 2.6内核中获得10GB的连续物理内存?

时间:2015-08-12 19:29:49

标签: linux memory driver dma

我希望在10GB上获得连续的物理内存来测试我的支持DMA的设备(新设备)。 有人可以解释如何为我的驱动程序获取连续的物理内存吗? 我也想知道如何将内存映射到用户空间? 我在64位x86 Intel平台上使用2.6.32和3.10 Linux内核版本。在该内核版本中,不存在连续内存分配(CMA)。我有16GB的RAM。 从谷歌我得到一些线索,可以使用内核命令行参数mem = 6G和ioremap。 但我不清楚如何做到这一点。

请解释一下。 如何使用Linux 2.6.32内核获取64位x86 Intel平台的物理地址映射? 我应该使用什么内核命令行参数? 我可以在RAM物理地址上进行ioremap吗?如果是,步骤是什么? 映射访问内核空间后,如何将该内存映射到用户空间进程?

我不想修补或重新编译Linux内核。

提前致谢。

0 个答案:

没有答案