Re: [PATCH 7/8] x86: Enable 5-level paging support

From: Kirill A. Shutemov
Date: Thu Apr 06 2017 - 11:24:52 EST


On Thu, Apr 06, 2017 at 04:52:11PM +0200, Juergen Gross wrote:
> On 06/04/17 16:01, Kirill A. Shutemov wrote:
> > Most of things are in place and we can enable support of 5-level paging.
> >
> > Enabling XEN with 5-level paging requires more work. The patch makes XEN
> > dependent on !X86_5LEVEL.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> > ---
> > arch/x86/Kconfig | 5 +++++
> > arch/x86/xen/Kconfig | 1 +
> > 2 files changed, 6 insertions(+)
> >
> > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > index 4e153e93273f..7a76dcac357e 100644
> > --- a/arch/x86/Kconfig
> > +++ b/arch/x86/Kconfig
> > @@ -318,6 +318,7 @@ config FIX_EARLYCON_MEM
> >
> > config PGTABLE_LEVELS
> > int
> > + default 5 if X86_5LEVEL
> > default 4 if X86_64
> > default 3 if X86_PAE
> > default 2
> > @@ -1390,6 +1391,10 @@ config X86_PAE
> > has the cost of more pagetable lookup overhead, and also
> > consumes more pagetable space per process.
> >
> > +config X86_5LEVEL
> > + bool "Enable 5-level page tables support"
> > + depends on X86_64
> > +
> > config ARCH_PHYS_ADDR_T_64BIT
> > def_bool y
> > depends on X86_64 || X86_PAE
> > diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
> > index 76b6dbd627df..b90d481ce5a1 100644
> > --- a/arch/x86/xen/Kconfig
> > +++ b/arch/x86/xen/Kconfig
> > @@ -5,6 +5,7 @@
> > config XEN
> > bool "Xen guest support"
> > depends on PARAVIRT
> > + depends on !X86_5LEVEL
> > select PARAVIRT_CLOCK
> > select XEN_HAVE_PVMMU
> > select XEN_HAVE_VPMU
> >
>
> Just a heads up: this last change will conflict with the Xen tree.

It should be trivial to fix, right? It's one-liner after all.

> Can't we just ignore the additional level in Xen pv mode and run with
> 4 levels instead?

We don't have yet boot-time switching between paging modes yet. It will
come later. So the answer is no.

--
Kirill A. Shutemov