Hi, On 1/22/07, Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:
On Mon, 2007-01-22 at 09:46 +0200, Ramagudi Naziir w > Another question is why SYSENTER directives are not embedded directly > in the code ? why do they have to use that linux-gate ? because of 2 reasons 1) not all cpus support sysenter, or sysenter might not be the fastest way. With the VDSO page, the kernel provides you with the fastest way for your system without the application needing to know the details (and getting them wrong) 2) sysenter can only return to a fixed location, not to some arbitrary location. This works well in the VDSO case, no problem. But it breaks entirely for "random" sysenter calls throughout code.
Very interesting. Thank you for that. What about the "int $80" directive ? that one IS embedded in the code itself. is it possible because it is supported on all cpus ? would you happen to know why static libraries do not use the VDSO ? (maybe they just can't assume they will run under the dynamic linker ? Is the VDSO is mapped by the dynamic linker ?) and would you happen to know why still some dynamic libraries still have some of the old "int" directives ? Thank You So Much !! naziir
-- if you want to mail me at work (you don't), use arjan (at) linux.intel.com Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/