Re: [PATCH] x86/head: Refactor 32-bit pgtable setup

From: Ingo Molnar
Date: Thu Dec 08 2016 - 23:33:56 EST



* Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> wrote:

> The new Xen PVH entry point requires page tables to be setup by the
> kernel since it is entered with paging disabled.
>
> Pull the common code out of head_32.S so that mk_early_pgtbl_32 can be
> invoked from both the new Xen entry point and the existing startup_32
> code.
>
> Convert resulting common code to C.
>
> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> ---
> This is replacement for https://lkml.org/lkml/2016/10/14/434, with
> assembly code re-written in C as requested by Ingo.
>
>
> arch/x86/include/asm/pgtable_32.h | 32 ++++++++++
> arch/x86/kernel/head32.c | 62 +++++++++++++++++++
> arch/x86/kernel/head_32.S | 122 +++-----------------------------------
> 3 files changed, 101 insertions(+), 115 deletions(-)

Whee, I love it! And the code is so much more readable!

Did you have any particular robustness problems (difficult to resolve crashes)
while developing it, or was it reasonably straightforward to do?

Thanks,

Ingo