Re: [PATCH v2] x86: Remove compat vdso support

Andy Lutomirski
2014-03-12T20:53:13Z

On Wed, Mar 12, 2014 at 12:41 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Wed, Mar 12, 2014 at 8:46 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
>>
>> - do *not* add the HPET/VVAR page games to the legacy case. Get rid
>> of the remap_pfn_pages() games entirely.
>
> .. actually, another approach would be to do the HPET/VVAR page games,
> but make them non-legacy.
>
> The reason I hate seeing those remap_pfn_range() things is because
> it's nasty code for a legacy case that I think shouldn't have new code
> written for it, especially when it won't get testing by developers.
>
> So my reaction was "don't do that".
>
> But people pointing out that we can't do what x86-64 does made me
> think: we could avoid the whole "nasty code for a legacy case" by
> making it the *non*-legacy case. We could get rid of the fixmap
> HPET/VVAR entirely - on x86-64 (which can use those addresses) a
> PC-relative addressing is probably actually better anyway, so mapping
> them together with the vdso code shouldn't hurt.

I think this is approximately what I was suggesting as a long-term solution :)

>
> Together with Andy's "remove legacy 32-bit fixmap vdso", I'd feel that
> this is actually an _improvement_ to the current situation.
>
> Would something like that be more acceptable to everybody?

I like it.

This has the added benefit that the vvar symbols can be ordinary
symbols as far as the compiler is concerned. Unfortunately, I don't
know how to get the linker to play along without hardcoding the
offsets of all the variables into the linker script. I'll play around
a bit.

--Andy

It would be nice to get rid of the vvar declaration stuff, too

>
> Linus

--
Andy Lutomirski
AMA Capital Management, LLC