我需要使用函数 void clflush_cache_range(void *vaddr, unsigned int size)
在 arch/x86/mm/pageattr.c 中实现,但我遇到了两个问题。
如何正确识别对应的header?我天真地搜索了符号,似乎
arch/x86/include/asm/cacheflush.h
就是一个。如何包含标题
arch/x86/include/asm/cacheflush.h
(如果它是正确的)?我试过include <asm/cacheflush.h>
,但没有用。
fatal error: asm/cacheflush.h: No such file or directory
最佳答案
虽然这不是很直接的方法,但如果其他文件正在使用该功能,我会查看它们并尝试执行相同的操作。例如查看 drivers/iommu/intel-iommu.c
,了解它们如何使用 clflush_cache_range()
引用http://www.thegeekstuff.com/2013/07/write-linux-kernel-module/关于如何编写内核代码。
关于c - 如何在内核源代码中使用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28816594/