如何在内核中分配不可缓存的物理内存?

时间:2012-02-22 01:33:48

标签: linux-kernel linux-device-driver

如果想在驱动程序中分配不可缓存的物理内存(DRAM), (即不希望数据被缓存到CPU的数据缓存中) 访问数据)我怎么能这样做?

有像kmalloc(),get_free_pages,vmalloc等函数, 但似乎我无法指定数据是否可以缓存或不使用这些功能? 关于如何做的任何建议?

谢谢!

1 个答案:

答案 0 :(得分:1)

简而言之,没有简单的方法可以做到这一点,它非常依赖于平台。
如果你想了解它,请阅读drivers / char / mem.c和Linux设备驱动程序第3版的第15章。