When the kernel starts up on the boot hart it performs the following steps:
- Initialize the SBI console
- Enable all interrupts
- Configure Sv39 paging
- Configure the PLIC (Platform-Level Interrupt Controller) if present
- Start the embedded init executable
It is legal for the init process to terminate, but only if there is at least one process left on the hart. This is likely to change in the future.
All other harts remain passive and do not execute S-mode (or U-mode) code. This is going to change when SMP is implemented.
Any errors during system startup will result in a kernel panic.