Expand description
The main module and entrypoint
Various facilities of the kernels are implemented as submodules. The most important ones are:
trap: Handles all cases of switching from userspace to the kernelsyscall: System call handling and implementation
The operating system also starts in this module. Kernel code starts
executing from entry.asm, after which rust_main() is called to
initialize various pieces of functionality. (See its source code for
details.)
We then call batch::run_next_app() and for the first time go to
userspace.
Modules
batch subsystem
console 🔒
SBI console driver, for text output
The panic handler
sbi 🔒
SBI call wrappers
sync 🔒
Synchronization and interior mutability primitives
Implementation of syscalls
Trap handling functionality