The Toaru kernel is unportable, not safe for SMP, and derived mostly from outdated tutorials. The New World kernel project seeks to replace the current toaru kernel with new, in-house, portable, modern, SMP-capable, and most importantly, toaru-compatible kernel. Like with the development of Yutani, the New World kernel will focus on learning from the mistakes made implementing the original kernel. ### Goals 1. **Be portable.** The old-world kernel isn't portable at all. Focus on X86_64 and ARM as targets. 2. **SMP safety.** Run simultaneously on multiple CPU cores, safely. 3. **Compatibility.** The new-world kernel will try to be POSIX-compliant, but will focus on supporting the existing Toaru userspace. ### Non-Goals 1. Source compatibility with modules and existing kernel: There is no need to support the existing modules, they will be ported. 2. Binary compatible with existing toaru binaries: We already broke this sufficiently with the move to Yutani. Source compatibility is preferred, though, and should only matter for a few things these days (particularly `shmem` and `pex`). Being compatible with the existing newlib glue is also not necessary - and in fact, would not work out well for some syscalls.