Re: [PATCH 21/26] x86/mm: add support of additional page table level during early boot

From: Ingo Molnar
Date: Mon Mar 13 2017 - 03:18:31 EST



* Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> wrote:

> This patch adds support for 5-level paging during early boot.
> It generalizes boot for 4- and 5-level paging on 64-bit systems with
> compile-time switch between them.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> ---
> arch/x86/boot/compressed/head_64.S | 23 +++++++++--
> arch/x86/include/asm/pgtable.h | 2 +-
> arch/x86/include/asm/pgtable_64.h | 6 ++-
> arch/x86/include/uapi/asm/processor-flags.h | 2 +
> arch/x86/kernel/espfix_64.c | 2 +-
> arch/x86/kernel/head64.c | 40 +++++++++++++-----
> arch/x86/kernel/head_64.S | 63 +++++++++++++++++++++--------

Ok, here I'd like to have a C version instead of further complicating an already
complex assembly version...

I.e. the existing setup code should be converted to C in one patch, and then
another patch should add 5-level paging support to the C code.

See how this was done for the 32-bit setup code already:

5a7670ee23f2 x86/boot/32: Convert the 32-bit pgtable setup code from assembly to C

Also, please split it up into per boot path and topic, i.e. have a sparate patch
for the Xen bits, the KASAN bits, the kexec extension, etc.

Thanks,

Ingo