我想使用在内核模块中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可以移植到所有架构(请确认这一点)。