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
Constants
exec syscall
exit syscall
fork syscall
getpid syscall
gettime syscall
mmap syscall
munmap syscall
read syscall
sbrk syscall
setpriority syscall
spawn syscall
taskinfo syscall
waitpid syscall
write syscall
yield syscall
Functions
handle syscall exception with syscall_id and other arguments