64位Linux内核的地址空间是什么,即它使用的代码,堆栈,堆和数据段的地址范围是什么。
在64位Linux上,最高位设置为1的所有64位地址都保留给内核。 换句话说,虚拟地址空间的上半部分。
有关详细信息,请参阅http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details
PAGE_OFFSET
和ULLONG_MAX
是常量,其值等于内核内存的开始和结束地址。 你可以直接在你的内核C模块中使用它们:
#define START_MEM PAGE_OFFSET #define END_MEM ULLONG_MAX