如何确定我正在构建的内核的PAGE_OFFSET值? 我正在为ARM平台构建内核。
谢谢, VJ
答案 0 :(得分:1)
我终于找到了PAGE_OFFSET的值作为.config下定义的值,而不是CONFIG_PAGE_OFFSET = 0xC0000000。
答案 1 :(得分:1)
以X86_32拱门为例。
arch / x86 / include / asm / page_types.h:
#define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET)
arch / x86 / include / asm / page_32_types.h:
#define __PAGE_OFFSET _AC(CONFIG_PAGE_OFFSET, UL)
arch / x86 / Kconfig:
config PAGE_OFFSET
hex
default 0xB0000000 if VMSPLIT_3G_OPT
default 0x80000000 if VMSPLIT_2G
default 0x78000000 if VMSPLIT_2G_OPT
default 0x40000000 if VMSPLIT_1G
default 0xC0000000
depends on X86_32
arch / x86 / Kconfig中的PAGE_OFFSET是page_32_types.h中的CONFIG_PAGE_OFFSET。因为前缀'CONFIG_'是 make system 自动添加的。
答案 2 :(得分:0)
查看内核源代码
grep -rn "#define PAGE_OFFSET" arch/arm/*
它发现它在arch/arm/include/asm/memory.h
中定义,但它取决于您的内核配置。根据您的配置遵循符号,您将获得价值。
或者您可以使用Linux kernel web explorer
答案 3 :(得分:0)
您可以在编译期间使用C预处理器打印该值:
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message "PAGE_OFFSET = " STRING(PAGE_OFFSET)
这将在运行make的控制台中打印该值。