l4linux and sysenter
adam at os.inf.tu-dresden.de
Wed Apr 24 23:19:15 CEST 2013
On Tue Apr 23, 2013 at 16:46:54 -0700, Ryan Brown wrote:
> We were seeing programs crash at the first system call when using some
> versions of glibc, but not others. It seems the difference is that the
> working glibc's are compiled without vdso support.
> When glibc tries to use the vdso for system calls, it crashes at the
> sysenter instruction.
> If we start l4linux with vdso32=0, the program is able to run.
> Is sysenter expected to work under l4linux? It looks like it requires using
> msr's, so perhaps l4linux isn't able to setup sysenter? Should it be
> installing the int80 vdso function instead?
Sysenter will not work currently for this. I guess it should be doable
but would need some much more closer look and thinking.
So, does adding 'nosep' to the kernel cmdline make things better?
> While investigating the vdso stuff to I also became curious. How difficult
> would it be to set up an l4 specific vdso? I assume just using l4 ipc
> directly would be more efficient than using int80?
The benefit would probably be the difference between int80 and
sysenter for entering the kernel. So if sysenter would work for Linux
user processes it would be as good as IPC.
Adam adam at os.inf.tu-dresden.de
More information about the l4-hackers