我希望在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内核。
提前致谢。