Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite3d0359

Browse files
hjl-toolsIngo Molnar
authored and
Ingo Molnar
committed
x86/build/64: Force the linker to use 2MB page size
Binutils 2.31 will enable -z separate-code by default for x86 to avoidmixing code pages with data to improve cache performance as well assecurity. To reduce x86-64 executable and shared object sizes, themaximum page size is reduced from 2MB to 4KB. But x86-64 kernel mustbe aligned to 2MB. Pass -z max-page-size=0x200000 to linker to force2MB page size regardless of the default page size used by linker.Tested with Linux kernel 4.15.6 on x86-64.Signed-off-by: H.J. Lu <hjl.tools@gmail.com>Cc: Andy Shevchenko <andy.shevchenko@gmail.com>Cc: Eric Biederman <ebiederm@xmission.com>Cc: H. Peter Anvin <hpa@zytor.com>Cc: Juergen Gross <jgross@suse.com>Cc: Kees Cook <keescook@chromium.org>Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>Cc: Linus Torvalds <torvalds@linux-foundation.org>Cc: Peter Zijlstra <peterz@infradead.org>Cc: Thomas Gleixner <tglx@linutronix.de>Link:http://lkml.kernel.org/r/CAMe9rOp4_%3D_8twdpTyAP2DhONOCeaTOsniJLoppzhoNptL8xzA@mail.gmail.comSigned-off-by: Ingo Molnar <mingo@kernel.org>
1 parent4b0b37d commite3d0359

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

‎arch/x86/Makefile‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,15 @@ KBUILD_CFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr) $(avx_instr)
223223

224224
LDFLAGS := -m elf_$(UTS_MACHINE)
225225

226+
#
227+
# The 64-bit kernel must be aligned to 2MB. Pass -z max-page-size=0x200000 to
228+
# the linker to force 2MB page size regardless of the default page size used
229+
# by the linker.
230+
#
231+
ifdefCONFIG_X86_64
232+
LDFLAGS +=$(call ld-option, -z max-page-size=0x200000)
233+
endif
234+
226235
# Speed up the build
227236
KBUILD_CFLAGS += -pipe
228237
# Workaround for a gcc prelease that unfortunately was shipped in a suse release

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp