linux应用层申请带物理地址的内存

时间:2022-07-14 17:41:12
linux有没有函数,能够提供申请物理地址的内存?
我知道有mmap可以映射,但总归得先有物理地址,才能映射。
考虑,也可以做一个内核模块,自己从内核中申请。但这总归麻烦,而且不通用。
有没有通用的函数,可以做这个工作的?

5 个解决方案

#1


调用ioremap进行I/O映射应该有机会,就是说把你的物理地址看成是I/O地址来进行操作。

#2


楼上的有道理

#3


问题的关键在于,不能确定物理地址。
是期望内核动态分配一个物理地址
然后map得到它。并且同时得到物理地址和虚拟地址。
虚拟地址用于用户层操作
物理地址,可以让硬件做一些类似加速的东西。

#4


改驱动好使吗?让硬件从主存里扣空间。

#5


哦,没看清要求。sorry。

#1


调用ioremap进行I/O映射应该有机会,就是说把你的物理地址看成是I/O地址来进行操作。

#2


楼上的有道理

#3


问题的关键在于,不能确定物理地址。
是期望内核动态分配一个物理地址
然后map得到它。并且同时得到物理地址和虚拟地址。
虚拟地址用于用户层操作
物理地址,可以让硬件做一些类似加速的东西。

#4


改驱动好使吗?让硬件从主存里扣空间。

#5


哦,没看清要求。sorry。