Bez popisu

luojia65 4b1a3eb04b Move RustSBI project to RustSBI foundation před 3 roky
src 6f98a3fd36 Reform RustSBI project into a library před 3 roky
.gitignore 2a8cf673e7 Filter out `.idea` folder for all platforms před 4 roky
CHANGELOG.md 6f98a3fd36 Reform RustSBI project into a library před 3 roky
Cargo.toml 4b1a3eb04b Move RustSBI project to RustSBI foundation před 3 roky
LICENSE-MIT 183f19ea5e Update licence; update readme před 4 roky
LICENSE-MULAN 183f19ea5e Update licence; update readme před 4 roky
README.md 64deee3c30 Small fix for readme, features and information před 3 roky

README.md

RustSBI

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

crates.io Documentation License

Binary downloads

From version 0.2.0, RustSBI is reformed into a library, thus no longer provides binary downloads for specific platforms. You may visit RustSBI-QEMU, RustSBI-K210 or other projects depending on the platforms you need.

Features

  • Functional and extensible operating system runtime
  • Fully support to RISC-V SBI specification v0.2
  • 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, typically 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 can 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