Subject: Re: COMPAT_LINUX vsyscall
To: None <tech-kern@netbsd.org>
From: Christos Zoulas <christos@tac.gw.com>
List: tech-kern
Date: 05/02/2005 09:15:37
In article <pan.2005.05.02.07.52.06.572733@st.mff.cuni.cz>,
Pavel Cahyna  <pavel.cahyna@st.mff.cuni.cz> wrote:
>Hello,
>
>On Sun, 01 May 2005 23:45:49 -0700, Bill Studenmund wrote:
>
>> On Sun, May 01, 2005 at 08:48:09PM -0400, Christos Zoulas wrote:
>>> In article <20050501221625.GQ5984@snowdrop.l8s.co.uk>, David Laight 
>>> <david@l8s.co.uk> wrote:
>>> >
>>> >That is mapping data, not code.....
>>> 
>>> The kernel can map optimized versions of mem*() and str*() that depend
>>> on the processor.
>> 
>> And all processes can take advantage of it. While we can play some
>> comparable tricks with conditional library linking (like how we have
>> different libm's on i386 as I understand it), that takes dynamic linking
>> and runtime computation. With this, the kernel figures out what the right
>> page is early in boot, and all processes (that are ours) use it.
>
>How would the processes know where the functions are?

There are many ways to do this, but the easiest is probably to stuff the
address where they start in setregs().

christos