This issue tracks the state of syscalls in reedos. Specifically S mode calls from U mode. As of 16178fc , the skeleton is built, but more general work can be done, and specifical syscalls can be implemented as their dependencies are met.
[ ] U mode printf via UART
[ ] Dividing syscalls into broad catagories based on dependencies
Broadly we want to conform to the linux RISC-V syscalls. Likely we will not implement all of them, but we might as well match the number and semantics of those we do. That way we might have some hope of running things not specifically compiled for us, provided they are sufficiently minimal.
This does not preclude the possibility of adding our own syscalls. We have a whole 64 bits worth of call numbers and linux uses less than 500.
This issue tracks the state of syscalls in reedos. Specifically S mode calls from U mode. As of 16178fc , the skeleton is built, but more general work can be done, and specifical syscalls can be implemented as their dependencies are met.
Broadly we want to conform to the linux RISC-V syscalls. Likely we will not implement all of them, but we might as well match the number and semantics of those we do. That way we might have some hope of running things not specifically compiled for us, provided they are sufficiently minimal.
This does not preclude the possibility of adding our own syscalls. We have a whole 64 bits worth of call numbers and linux uses less than 500.