Module syscall

Source
Expand description

Implementation of syscalls

The single entry point to all system calls, syscall(), is called whenever userspace wishes to perform a system call using the ecall instruction. In this case, the processor raises an ‘Environment call from U-mode’ exception, which is handled as one of the cases in crate::trap::trap_handler.

For clarity, each single syscall is implemented as its own function, named sys_ then the name of the syscall. You can find functions like this in submodules, and you should also implement syscalls this way.

Modules§

fs 🔒
File and filesystem-related syscalls
process 🔒
Process management syscalls

Constants§

SYSCALL_EXIT 🔒
SYSCALL_GET_TIME 🔒
SYSCALL_WRITE 🔒
SYSCALL_YIELD 🔒

Functions§

syscall
handle syscall exception with syscall_id and other arguments