no, the syscall just returns -EIMPL because its not implemented... you can run linuxemu with -d option wich will log all syscalls and other debugging to strerr, or when something crashes attach acid to the broken process with the linuxemu.acid file and run utrace(Current()) and look if we hit unimplemented syscalls. but sys_ulimit() should be pretty harmless. you can implement that syscall if you want. i should make a small tutorial about how to add syscalls... 1. find out what the parameters of the syscall is (linuxassembly.org, lxr...) 2. add your syscall function prototype in fns.h like: int sys_mysyscall(int arg1, void *arg2); if structs are passed use void * and declare the struct near your implementation and cast the void* in it. for some complicated syscalls you can access the registers where arguments are passed in linux with current->ureg->reg but it should be avoided. the automatic convertion of syscalls to plan9 function passing allows the later implementation of for example a bsd syscall emulator. (bsd uses the traditional stack based argument passing) 3. add your syscalll to the linuxcalltab file like this: 123 2 mysyscall sys_mysyscall the first column is the syscall number, the 2nd is the number of arguments for the syscall function. the comes just a name and the last one is the function that will be called. 4. implement your function somewhere -- cinap