Expand description
System Calls on x86
This implements the syscall entries for x86. One function for each possible number of arguments is provided: syscall0 to syscall6.
The implementation uses the x86-int$0x80
software interrupt to enter the
kernel. It would be much faster to use the VDSO entry point, but it does
require access to %gs
and the TLS mappings, and thus is left for future
improvements (if anyone cares enough for 32bit x86).
Arguments are passed as: Nr: eax Args: ebx, ecx, edx, esi, edi, ebp Return value is in: Ret: eax
The entry-points are currently not marked as readonly
. That is, the
system calls are allowed to modify memory. If necessary, alternative calls
with readonly
(or maybe even pure
) can be provided in the future.