Aucune description

luojia65 f4c9b472b3 Add main authors to Cargo.toml il y a 3 ans
src 30c59042fe Change to asynchronous lock structure trait style il y a 3 ans
.gitignore 2a8cf673e7 Filter out `.idea` folder for all platforms il y a 4 ans
CHANGELOG.md 30c59042fe Change to asynchronous lock structure trait style il y a 3 ans
Cargo.toml f4c9b472b3 Add main authors to Cargo.toml il y a 3 ans
LICENSE-MIT 183f19ea5e Update licence; update readme il y a 4 ans
LICENSE-MULAN 183f19ea5e Update licence; update readme il y a 4 ans
README.md cc9dbcfd48 Add instruction for RustSBI; thank you @duskmoon314 il y a 3 ans

README.md

RustSBI

RISC-V Supervisor Binary Interface (SBI) implementation in Rust; runs on M-mode.

crates.io Documentation License

Binary downloads

RustSBI is provided with separate library and binary projects, this is the repository for RustSBI library. For specific platforms, you may visit implementation specific projects depending on the platforms you need. Chip, system and platform vendors should provide RustSBI implementation for dedicated platform as a part of platform software support package.

There are packages exists on awesome-rustsbi: it is a curated list of awesome things related to RustSBI, which includes some implementation projects maintained by individuals or the community. You may find binary downloads for useful platforms on awesone-rustsbi.

Features

  • Functional and extensible operating system runtime
  • Fully support to RISC-V SBI specification v0.3
  • Adapted for operating system kernel models on your choice
  • Written in Rust
  • Competitive to OpenSBI with most of its function
  • Bundled with a test framework for SBI implementations
  • Empower support, compatibility for different platforms

Frequently asked questions

  1. Can I use RustSBI on C based kernels?

Yes, you can! RustSBI strictly follows RISC-V SBI standard. All features are prepares for all programming languages, as long as they support RISC-V SBI defined calling convention.

If your kernel language supports other SBI implementations, usually it will support RustSBI in the same way.

Talks and documents

This project is originally a part of rCore Summer of Code 2020 activities, now it is capable of running rCore-Tutorial and other OS kernels on wide supported RISC-V devices.

Blog article (Chinese):

Slides (Chinese):

Notes on platform implementation

  1. RustSBI should be used as a library. Under normal circumstances, RustSBI platform can be implemented with embedded Rust's embedded-hal libraries.
  2. Contributions are welcomed! We welcome to implement RustSBI for both FPGA cores and real cores. Implementations for emulators are also welcomed. Fire a pull request if you are ready!

License & Copyright

This project is licensed under either of

Documents from RISC-V SBI Specification are used in this project. These documents are (C) RISC-V Founcation under 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/.