Fără Descriere

luojia65 b51207b537 Show hart id on panic for QEMU platform 4 ani în urmă
platform b51207b537 Show hart id on panic for QEMU platform 4 ani în urmă
rustsbi 3867b9729d Small fixes on library documents 4 ani în urmă
.gitignore 863b04b437 Filter out `.idea` folder for all platforms 4 ani în urmă
CHANGELOG.md b51207b537 Show hart id on panic for QEMU platform 4 ani în urmă
Cargo.toml d5d85f7728 4 ani în urmă
LICENSE-MIT c406a89e07 Update licence; update readme 4 ani în urmă
LICENSE-MULAN c406a89e07 Update licence; update readme 4 ani în urmă
README.md 6af5a530d6 Small fix on readme 4 ani în urmă

README.md

RustSBI

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

crates.io Documentation License

Binary downloads

See releases.

Binaries are available for platforms which can be found on platform support page.

Features

  • Functional operating system runtime
  • Adapted to RISC-V SBI specification v0.2
  • Good support for unix-like operating systems
  • Written in Rust
  • Alternative to OpenSBI with most of its function
  • Supports QEMU emulator (priv. spec v1.11)
  • Backward compatible to privileged spec v1.9
  • Supports Kendryte K210 with MMU and S-Mode

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. On both QEMU and K210 platform, we supports CLINT and PLIC peripherals. Embedded Rust's community still need more SoCs taped out to discuss on common libraries on RISC-V ecosystem. After these works are done, we may use crates then to implement QEMU, without the hal module we have now.
  3. 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

This project is licensed under either of