SBI (Supervisor Binary Interface) is an interface between the Supervisor Execution Environment (SEE) and the supervisor. It allows the supervisor to execute some privileged operations by using the ecall instruction. Examples of SEE and supervisor are: M-Mode and S-Mode on Unix-class platforms, where SBI is the only interface between them, as well as the Hypervisor extended-Supervisor (HS) and Virtualized Supervisor (VS).
Discussion of SBI occurs on the RISC-V Unix Platform Mailing list. It is publicly readable but posting requires being a member of the RISC-V Foundation. Any new SBI extension needs to be discussed and approved there before being merged.
OpenSBI is the reference implementation, but other implementations exist; see section "SBI Implementation IDs".
The files in this repository are licensed under the Creative Commons Attribution 4.0 International License (CC-BY 4.0). The full license text is available at https://creativecommons.org/licenses/by/4.0/.
The PDF built in this project uses AsciiDoctor (Ruby). For more information on AsciiDoctor, specification guidelines, or building locally, see the RISC-V Documentation Developer Guide.
This project uses GitHub Submodules to include the RISC-V docs-resources project to achieve a common look and feel.
When cloning this repository for the first time, you must either use
git clone --recurse-submodules
or execute git submodule init
and
git submodule update
after the clone to populate the docs-resources
directory. Failure to clone the submodule, will result in the PDF build
fail with an error message like the following:
$ make asciidoctor-pdf \ -a toc \ -a compress \ -a pdf-style=docs-resources/themes/riscv-pdf.yml \ -a pdf-fontsdir=docs-resources/fonts \ --failure-level=ERROR \ -o profiles.pdf profiles.adoc asciidoctor: ERROR: could not locate or load the built-in pdf theme `docs-resources/themes/riscv-pdf.yml'; reverting to default theme No such file or directory - notoserif-regular-subset.ttf not found in docs-resources/fonts Use --trace for backtrace make: *** [Makefile:7: profiles.pdf] Error 1
The final specification in form of PDF and HTML can be generated using
make
command. The makefile
internally uses asciidoctor so the packages
required by the makefile
need to be installed on the build system using
make install-debs
or make install-rpms
.