This project contains a framework and tools to write specifications of memory address translation hardware such as MMU, SMMUs and others.
see the LICENSE file.
The project consists of the following tools:
compiler
The compiler turns VelosiRaptorSpecifications into operating systems code and
hardware platform modules.
The Velosiraptor Compiler parses specifications in the *.vrs
(Velosiraptor Specification File)
format.
Install Rust for this project. See RustUp.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Make sure the submodules are initialized properly. Note we have submodules in submodules, so we need to do a recursive initialization.
git submodule init --recursive
git submodule update --recursive
To build the documentation, install the mdbook
crate.
cargo install mdbook
Please follow the naming and formatting conventions of Rust.
Run cargo fmt
before committing.
To build the compiler
$ cargo build
The compiler expects a *.vrs
file. See cargo run -h
for more options.
cargo run <*.vrs>
The documentation is located in the doc
directory.
We use Rust's mdBook to build the documentation change
to the doc
directory and run the folloing commands.
mdbook build
builds the documentationmdbook serve
to make it accessible onhttp://localhost:3000
To build the documentation of the code run the following command.
$ cargo doc --no-deps
$ cargo test
- Add progress bar using the inidicatif crate