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

Linux kernel 如何在内核中分配不可缓存的物理内存?,linux-kernel,linux-device-driver,Linux Kernel,Linux Device Driver,如果要分配不可缓存的物理内存(DRAM)以在驱动程序中使用, (即,不希望在以下情况下将数据缓存到CPU的数据缓存中: 数据被访问)我如何才能做到这一点 还有像kmalloc()、get_free_pages、vmalloc等函数, 但似乎我无法指定数据是否可以缓存或不使用这些函数? 有什么建议吗 谢谢 简而言之,没有简单的方法可以做到这一点,它非常依赖于平台。 如果您想尝试一下,请阅读drivers/char/mem.c和《Linux设备驱动程序第三版》第15章

如果要分配不可缓存的物理内存(DRAM)以在驱动程序中使用, (即,不希望在以下情况下将数据缓存到CPU的数据缓存中: 数据被访问)我如何才能做到这一点

还有像kmalloc()、get_free_pages、vmalloc等函数, 但似乎我无法指定数据是否可以缓存或不使用这些函数? 有什么建议吗


谢谢

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