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ยง
- SYSCALL_
EXIT ๐ - SYSCALL_
GET_ ๐TIME - SYSCALL_
SBRK ๐ - SYSCALL_
WRITE ๐ - SYSCALL_
YIELD ๐
Functionsยง
- syscall
- handle syscall exception with
syscall_idand other arguments