0

構築中のカーネルの PAGE_OFFSET の値を決定するにはどうすればよいですか? ARM プラットフォーム用のカーネルを構築しています。

ありがとう、vj

4

4 に答える 4

1

最終的に、CONFIG_PAGE_OFFSET=0xC0000000 に対して、.config で定義された値として PAGE_OFFSET の値を見つけました。

于 2013-10-15T23:32:38.157 に答える
1

X86_32 arch を例に取ります。

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)

アーチ/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によって自動的に追加されるためです。

于 2019-03-17T03:47:15.833 に答える
0

コンパイル中に C プリプロセッサを使用して値を出力できます。

+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message "PAGE_OFFSET = " STRING(PAGE_OFFSET)

これにより、make を実行しているコンソールに値が出力されます。

于 2014-03-09T05:32:48.920 に答える