Re: [PATCHv6, RESEND 4/4] x86/boot/compressed/64: Handle 5-level paging boot if kernel is above 4G

From: Andi Kleen
Date: Tue Jan 23 2018 - 13:14:08 EST


On Tue, Jan 23, 2018 at 08:37:03PM +0300, Kirill A. Shutemov wrote:
> On Tue, Jan 23, 2018 at 09:31:16AM -0800, Linus Torvalds wrote:
> > On Tue, Jan 23, 2018 at 9:09 AM, Kirill A. Shutemov
> > <kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
> > >
> > > But if the bootloader put the kernel above 4G (not sure if anybody does
> > > this), we would lose control as soon as paging is disabled, because the
> > > code becomes unreachable to the CPU.
> >
> > I do wonder if we need this. Why would a bootloader ever put the data
> > above 4G? Does this really happen? Wouldn't it be easier to just say
> > "bootloaders better put the kernel in the low 4G"?
>
> I don't know much about bootloaders, but do we even have such guarantee
> for in-kernel bootloader -- kexec?

There's no such guarantee, so we need it at least for kexec.

-Andi