The RISC-V Supervisor Binary Interface (SBI) allows supervisor-mode software to be portable across all RISC-V implementations by defining an abstraction for platform (or hypervisor) specific functionality. See https://github.com/riscv/riscv-sbi-doc/blob/master/riscv-sbi.adoc for more information. OpenSBI provides an open-source reference implementation of the RISC-V SBI specifications which can be easily extended by RISC-V platform and system-on-chip vendors to fit a particular hardware configuration.