LemonOS
LemonOS copied to clipboard
Kernel Syscall Rework
Pretty much every syscall needs to be rewritten to some extent.
- Use
syscall
instruction instead ofint
- 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