| OpenSBI as coreboot payload |
| =========================== |
| |
| [coreboot] is a free/libre and open source firmware platform support multiple |
| hardware architectures(x86, ARMv7, arm64, PowerPC64, MIPS and RISC-V) and |
| diverse hardware models. In RISC-V world, coreboot currently support HiFive |
| Unleashed with OpenSBI as a payload to boot GNU/Linux: |
| |
| ``` |
| SiFive HiFive unleashed's original firmware boot process: |
| +-----------+ |
| +------+ +------+ +------+ | BBL | |
| | MSEL |--->| ZSBL |--->| FSBL |--->| +-------+ |
| +------+ +------+ +------+ | | linux | |
| +---+-------+ |
| |
| coreboot boot process: |
| +---------------------------------------------------------------------+ |
| | coreboot | |
| +------+ +------+ | +-----------+ +----------+ +----------+ +-----------------------+ |
| | MSEL |-->| ZSBL |-->| | bootblock |->| romstage |->| ramstage |->| payload ( OpenSBI) | |
| +------+ +------+ | +-----------+ +----------+ +----------+ | +-------+ | |
| | | | linux | | |
| +---------------------------------------------+-------------+-------+-+ |
| ``` |
| |
| The upstreaming work is still in progress. There's a [documentation] about how |
| to build [out-of-tree code] to load OpenSBI. |
| |
| [coreboot]: https://www.coreboot.org/ |
| [documentation]: https://github.com/hardenedlinux/embedded-iot_profile/blob/master/docs/riscv/hifiveunleashed_coreboot_notes-en.md |
| [out-of-tree code]: https://github.com/hardenedlinux/coreboot-HiFiveUnleashed |