An initial implementation of an open supervisor binary interface (SBI) for RISC-V, imaginatively dubbed OpenSBI v0.1, has been released with support for the HiFive Unleashed, Kendryte K210-based development boards, and QEMU virtual machines.
“OpenSBI is an open source implementation of the RISC-V Supervisor Binary Interface (SBI). SBI serves a critical purpose, enabling an operating system to interact with the supervisor execution environment (SEE),” explains the RISC-V Foundation of the release’s importance. “The RISC-V ISA has defined SBI to provide a cleaner interface for the supervisor OS, streamlining the process of virtualizing and bringing up new hardware platforms. Furthermore, there’s no longer a need for the Berkeley bootloader (BBL), making it much easier to use upstream OS kernels and device data.
“The RISC-V SBI specifications, maintained as an independent project by the RISC-V Foundation at GitHub, define the legacy SBI interface currently in use by various products as well as by RISC-V QEMU virtual machines. OpenSBI also implements SBI compliant early boot firmwares capable of handling various boot flows and payloads on various environments. OpenSBI firmwares have been tested with payloads such as U-Boot and Linux kernel, showing that these open firmwares can fully replace the legacy non-standard BBL intermediate boot loader.”
OpenSBI v0.1 is compatible with SiFive’s HiFive Unleashed development boards, boards based on the Kendryte K210 system-on-chip (SoC), and the ‘virt’ and ‘sifive_i’ RISC-V virtual machines running on the QEMU emulator. The Foundation has also confirmed that OpenSBI will be updated as the SBI specification evolves.
OpenSBI, which was originally developed by Western Digital, is available now from GitHub under the permissive two-clause BSD Licence.