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 kerneltask: Task managementsyscall: System call handling and implementationmm: Address map using SV39sync: Wrap a static data structure inside it so that we are able to access it without anyunsafe.fs: Separate user from file system with some structures
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 task::run_tasks() and for the first time go to
userspace.
Modulesยง
- board ๐
- config ๐
- Constants used in rCore
- console ๐
- SBI console driver, for text output
- device_
tree ๐ - Device tree helpers.
- drivers ๐
- fs
- File system in os
- lang_
items - The panic handler
- logging ๐
- mm
- Memory management implementation
- sbi
- SBI call wrappers
- sync
- Synchronization and interior mutability primitives
- syscall
- Implementation of syscalls
- task
- Task management implementation
- timer
- RISC-V timer-related functionality
- trap
- Trap handling functionality
Macrosยง
- linker_
symbol_ ๐addr - print string macro
- println
- println string macro