Pretty much every syscall needs to be rewritten to some extent.
- Use
syscall instruction instead of int
- Ensure userspace addresses are safely accessed
- Separate out architecture specific code for future support for other architectures such as arm64 or riscv
- Separate the syscalls into separate files not just for readability but so the compiler does not need to recompile thousands of lines of code every time a syscall or one of the many headers is touched
- Consider distinguishing between posix/linux-like syscalls and lemon-specific syscalls
- Consider allowing userspace to read various parts of kernel memory to avoid entering the kernel for example system uptime, process ID, thread ID
Pretty much every syscall needs to be rewritten to some extent.
syscallinstruction instead ofint