Re: [PATCHv4 3/4] x86/boot/compressed/64: Introduce place_trampoline()

From: Ingo Molnar
Date: Fri Dec 08 2017 - 06:28:51 EST



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

> On Thu, Dec 07, 2017 at 07:30:48AM +0100, Ingo Molnar wrote:
> > > We also need a small stack in the trampoline to re-enable long mode via
> > > long return. But stack and code can share the page just fine.
> >
> > BTW., I'm not sure this is necessarily a good idea: it means writable+executable
> > memory, which we generally try to avoid. How complicated would it be to have them
> > separate?
>
> It's trivial: you only need to bump TRAMPOLINE_32BIT_SIZE.
>
> But it doesn't make much sense. We're running from indentity mapping: all
> memory is r/w without NX bit set (and IA32_EFER.NXE is 0).

Ok, fair enough!

Thanks,

Ingo