Re: [PATCH 1/3] x86/boot: Add bit fields into xloadflags for 5-level kernel checking

From: Baoquan He
Date: Wed Sep 26 2018 - 03:54:39 EST


On 09/05/18 at 10:02am, Thomas Gleixner wrote:
> On Tue, 4 Sep 2018, H. Peter Anvin wrote:
>
> > On 09/04/18 01:42, Kirill A. Shutemov wrote:
> > >
> > > Switching between 4- and 5-level paging modes (in either direction)
> > > requires paing disabling. It means the code that does the switching has to
> > > be under 4G otherwise we would lose control.
> > >
> > > We handle the switching correctly in kernel decompression code, but not on
> > > kexec caller side.
> > >
> > > XLF_5LEVEL indicates that kernel decompression code can deal with
> > > switching between paging modes and it's safe to jump there in 5-level
> > > paging mode.
> > >
> > > As an alternative we can change kexec to switch to 4-level paging mode
> > > before starting the new kernel. Not sure how hard it will be.
> > >
> >
> > Have a flag saying entering in 5-level mode is fine. However, you really
> > should support returning to 4-level mode in kexec. It is *much* easier to do
> > on the caller side as you have total control of memory allocation there.
>
> Works for a regular kexec, but not for starting a crash kernel....

Agree, it's not appropriate to do this after normal kernel crashed and
prepare to jump to 2nd kernel.

Can this patchset be merged? I will post patches to kexec-tools utility
since it will make use of these flags.

Thanks
Baoquan