Re: [PATCH] Add VDSO time function support for x86 32-bit kernel

From: Andy Lutomirski
Date: Thu Dec 13 2012 - 14:32:24 EST


On Wed, Dec 12, 2012 at 11:17 PM, Stefani Seibold <stefani@xxxxxxxxxxx> wrote:
> Am Mittwoch, den 12.12.2012, 22:47 -0800 schrieb H. Peter Anvin:
>> Should be a simple matter of sharing pages. Look perhaps at the x32 vdso for a hint.
>>
>
>
>> >
>> >Any idea or clean solution how i can map the 64 bit vgtod into the 32
>> >bit address space? Thats the only problem i see.
>> >
>
> No, i see no special handling for x32 vdso to do this. I am not sure if
> x32 vdso can access the 64 bit address space of vsyscall_gtod_data. I
> can't test this due the lack of a x32 abi system.
>
>

x32's vdso cheats -- x32 code can see high addresses just fine. The
toolchain just makes it difficult.

Your best bet is probably to just map the vvar page twice -- once at
the same address as native 32-bit mode (but only for compat tasks)
would use and once in the usual fixmap location. You can't use the
fixmap for the compat mapping, though, since it would be a *user*
address.

For HPET support, you'd have to have special support. I'd say to skip
it for compat mode.

--Andy

--
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/