If you are unfamiliar with the Risc-V instruction set, please have a look at the Risc-V instruction set reference.
The Mozak VM is built in Rust, so the Rust toolchain is a pre-requisite.
cargo build
Updating the official Risc-V tests relies on Docker to install the RISC-V toolchain and build the ELF files necessary for our tests to run.
The Mozak VM implements the base RV32I instruction set with the M-extension, so we are using rv32ui and rv32um ELF files from the riscv-software-src/riscv-tests repo.
You can update the tests via:
cd vm/tests/create_testdata/
./update_testdata