* Kirill A. Shutemov <[email protected]> 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