Boot
├── disk/ - File system contents
├── common.c - Kernel/user common library: printf, memset, ...
├── common.h - Kernel/user common library: definitions of structs and constants
├── kernel.c - Kernel: process management, system calls, device drivers, file system
├── kernel.h - Kernel: definitions of structs and constants
├── kernel.ld - Kernel: linker script (memory layout definition)
├── shell.c - Command-line shell
├── user.c - User library: functions for system calls
├── user.h - User library: definitions of structs and constants
├── user.ld - User: linker script (memory layout definition)
└── run.sh - Build script
OpenSBI is the equivalent of BIOS/UEFI.
Supervisor Binary Interface (SBI)
The Supervisor Binary Interface (SBI) is an API for OS kernels, but defines what firmware provides to an OS. It defines useful features like displaying characters, reboot/shutdown and timer settings.