Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 13 Dec 2012 11:32:16 -0800 | Subject | Re: [PATCH] Add VDSO time function support for x86 32-bit kernel |
| |
On Wed, Dec 12, 2012 at 11:17 PM, Stefani Seibold <stefani@seibold.net> 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
| |