Re: [PATCH 3/8] x86/boot/64: Add support of additional page table level during early boot

From: Ingo Molnar
Date: Tue Apr 11 2017 - 07:28:56 EST



* Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote:

> On Tue, Apr 11, 2017 at 09:02:03AM +0200, Ingo Molnar wrote:
> > I realize that you had difficulties converting this to C, but it's not going to
> > get any easier in the future either, with one more paging mode/level added!
> >
> > If you are stuck on where it breaks I'd suggest doing it gradually: first add a
> > trivial .c, build and link it in and call it separately. Then once that works,
> > move functionality from asm to C step by step and test it at every step.
>
> I've described the specific issue with converting this code to C in cover
> letter: how to make compiler to generate 32-bit code for a specific
> function or translation unit, without breaking linking afterwards (-m32
> break it).

Have you tried putting it into a separate .c file, and building it 32-bit?

I think arch/x86/entry/vdso/Makefile contains an example of how to build 32-bit
code even on 64-bit kernels.

Thanks,

Ingo