Hello,
I have a fiasco l4/l4linux system setup. I want to eventually log all linux system calls from within the fiasco kernel (via thread::sys_ipc and thread::shortcut_ipc). I am curious: How does a linux system call get translated into an l4 ipc ?
Thanks, Andrew Winter Davenport
Hi,
On Fri Jun 03, 2005 at 14:54:20 -0400, Andrew Davenport wrote:
I have a fiasco l4/l4linux system setup. I want to eventually log all linux system calls from within the fiasco kernel (via thread::sys_ipc and thread::shortcut_ipc). I am curious: How does a linux system call get translated into an l4 ipc ?
On Linux and x86 a system call is done via "int $0x80". Executing this on L4 triggers an exception that is reflected back to userland. There are two exception models in Fiasco, L4Linux2.6 uses the exception IPC one, i.e. the kernel generates an IPC similar to pagefault IPC that is sent to the Linux server. In the kernel there's a function snd_exception() that is called from the trap handler. This function generates an IPC to the handler and waits for a reply to resume the faulted thread (with some new state).
Adam
l4-hackers@os.inf.tu-dresden.de