• Stars
    star
    295
  • Rank 140,835 (Top 3 %)
  • Language Makefile
  • License
    Creative Commons ...
  • Created over 6 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Documentation for the RISC-V Supervisor Binary Interface

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 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 RISC-V Documentation Developer Guide.

Cloning the Project

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

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.

More Repositories

1

riscv-asm-manual

RISC-V Assembly Programmer's Manual
Makefile
1,423
star
2

riscv-elf-psabi-doc

A RISC-V ELF psABI Document
Python
699
star
3

riscv-arch-test

Assembly
505
star
4

rvv-intrinsic-doc

C
286
star
5

riscv-toolchain-conventions

Documenting the expected behaviour and supported command-line switches for GNU and LLVM based RISC-V toolchains
Makefile
144
star
6

riscv-trace-spec

RISC-V Processor Trace Specification
C
126
star
7

riscv-c-api-doc

Documentation of the RISC-V C API
Makefile
72
star
8

riscv-device-tree-doc

RISC-V Specific Device Tree Documentation
Python
41
star
9

riscv-iommu

Non-ISA IOMMU specification developed by the IOMMU TG.
C
39
star
10

riscv-brs

The Boot and Runtime Services (BRS) specification provides the software requirements for system vendors and Operating System Vendors (OSVs) to interoperate with one another by providing expectations for the Operating System (OS) to utilize in acts of device discovery, system management, and other rich operations provided in this specification.
TeX
38
star
11

riscv-ap-tee

This repo holds the work area and revisions of the RISC-V AP-TEEI specification. This specification defines the programming interfaces (ABI) to support a scalable confidential compute architecture for RISC-V application-processor platforms.
TeX
32
star
12

riscv-semihosting

Makefile
27
star
13

tg-nexus-trace

RISC-V Nexus Trace TG documentation and reference code
C
20
star
14

riscv-uefi

Makefile
19
star
15

riscv-arch-test-reports

HTML
11
star
16

riscv-security-model

RISC-V Security Model
TeX
11
star
17

riscv-acpi

Makefile
10
star
18

riscv-ap-tee-io

This TG will define AP-TEE-IO ABI extensions to provide Confidential VM-assigned devices with secure direct access to confidential memory as well as MMIO, removing the dependence on para-virtualized I/O.
Makefile
9
star
19

riscv-server-platform

The RISC-V Server Platform specification defines a standardized set of hardware and sofware capabilities, that portable system software, such as operating systems and hypervisors, can rely on being present in a RISC-V server platform.
Makefile
7
star
20

riscv-rvm-csi

RVM-CSI (RISC-V eMbedded - Common Software Interface) aims to provide a source-level portability layer providing a simplified transition path between different microcontrollers based on RISC-V. This repo contains the specification documentation, and language-specific source files for implementing the API (initially, C header files).
C
6
star
21

riscv-swi

RISC-V Software Interrupts Specification
Makefile
4
star
22

riscv-acpi-ffh

The repo will be used to hold the draft non-ISA RISC-V ACPI Functional Fixed Hardware (FFH) specification
Makefile
3
star
23

server-soc-ts

Test suite for Server SoC
3
star
24

e-trace-encap

E-Trace Encapsulation Specification
Makefile
2
star
25

riscv-rpmi

RISC-V Platform Management Interface Specification. OS-agnostic messaging interface for system management and control
Makefile
2
star
26

riscv-acpi-rimt

RISC-V ACPI I/O Mapping Table Specification
Makefile
2
star
27

riscv-cbqri

This repo holds the work area and revisions of a QoS register interface for caches and memory controllers specification. The QoS register interface is a non-ISA specification that supports configuring resource allocations to applications and monitoring the resource usage by applications.
Makefile
1
star
28

server-soc

The repo holds the draft non-ISA Server SoC specification being developed by the Server SoC specification TG and to release intermediate releases of the specification on milestones. Further downstream this repo will be used to release specifications for public review.
TeX
1
star