[PATCHv3 0/5] x86: 5-level related changes into decompression code

From: Kirill A. Shutemov
Date: Mon Dec 04 2017 - 07:42:13 EST


Hi Ingo,

Here's updated changes that prepare the code to boot-time switching between
paging modes and handle booting in 5-level mode when bootloader put kernel
image above 4G, but haven't enabled 5-level paging for us.

First two patches can be backported to v4.14 to provide sensible error
message when CONFIG_X86_5LEVEL=y kernel is booted on hardware that doesn't
support the feature.

Please review and consider applying.

Kirill A. Shutemov (5):
x86/boot/compressed/64: Detect and handle 5-level paging at boot-time
x86/boot/compressed/64: Print error if 5-level paging is not supported
x86/boot/compressed/64: Rename pagetable.c to kaslr_64.c
x86/boot/compressed/64: Introduce place_trampoline()
x86/boot/compressed/64: Handle 5-level paging boot if kernel is above
4G

arch/x86/boot/compressed/Makefile | 3 +-
arch/x86/boot/compressed/head_64.S | 108 +++++++++++++--------
.../boot/compressed/{pagetable.c => kaslr_64.c} | 0
arch/x86/boot/compressed/misc.c | 16 +++
arch/x86/boot/compressed/pgtable.h | 18 ++++
arch/x86/boot/compressed/pgtable_64.c | 61 ++++++++++++
6 files changed, 166 insertions(+), 40 deletions(-)
rename arch/x86/boot/compressed/{pagetable.c => kaslr_64.c} (100%)
create mode 100644 arch/x86/boot/compressed/pgtable.h
create mode 100644 arch/x86/boot/compressed/pgtable_64.c

--
2.15.0