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

Functions

handle syscall exception with syscall_id and other arguments