我想使用在内核模块中arch/XXX/asm/include
(在我的情况下, )下声明/定义的东西(头文件、结构、函数或宏)。PAGE_TABLE
是否有可能知道该东西是否存在于所有架构中?
换个说法:内核暴露给内核空间的可移植 API 到底是什么asm/
?
我可以find .
或grep -r
进入内核树,但是有没有更好的方法来知道对于每一个出现的新架构,必须为要支持的架构定义那个东西?毕竟,即使在所有现有架构上都提供了某些东西,谁保证它们都提供这些东西不仅仅是巧合,而且它们不是强制性的?
以标头为例,在最近的源快照中,x86
包含acpi.h
但arm
不包含,但所有架构似乎都包含page.h
. 那么我怎么知道我可以使用#include <asm/page.h>
但不能acpi.h
呢?page.h
另一方面,预计将在所有拱门上实现,因为include/linux/
它在多个点上使用它,并且include/linux
可以移植到所有架构(请确认这一点)。