Re: [PATCHv7 12/19] x86/mm: Adjust virtual address space layout in early boot.

From: Ingo Molnar
Date: Thu Sep 28 2017 - 04:32:05 EST



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

> We need to adjust virtual address space to support switching between
> paging modes.
>
> The adjustment happens in __startup_64().

> +#ifdef CONFIG_X86_5LEVEL
> + if (__read_cr4() & X86_CR4_LA57) {
> + pgtable_l5_enabled = 1;
> + pgdir_shift = 48;
> + ptrs_per_p4d = 512;
> + }
> +#endif

So CR4 really sucks as a parameter passing interface - was it us who enabled LA57
in the early boot code, right? Couldn't we add a flag which gets set there, or
something?

Thanks,

Ingo