README.adoc

April 6, 2023 ยท View on GitHub

= RISC-V SBI specification

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 https://lists.riscv.org/g/tech-prs[RISC-V Platform Runtime Services 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.

A list of implementations introduces SBI to M-Mode and HS-Mode software. See section "SBI Implementation IDs"

= Licensing

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/.

= Dependencies The PDF built in this project uses AsciiDoctor (Ruby). For more information on AsciiDoctor, specification guidelines, or building locally, see the https://github.com/riscv/docs-dev-guide[RISC-V Documentation Developer Guide].

= Cloning the Project This project uses https://git-scm.com/book/en/v2/Git-Tools-Submodules[GitHub Submodules] to include the RISC-V https://github.com/riscv/docs-resources[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 ....

= Building Documents

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.