The goal is to support both x86-64
and aarch64
docker images for development and testing.
The base images contain gcc
and sail
images. We compile from the toolchain from source and use a specific version of the toolchains.
The build process should be used when an update on the toolchain is required. When a new build is made by running build.sh
, build and push to Docker Hub are automated.
For gcc
, we are using the compiler version tags/2023.10.06
, as using the binaries from apt install gcc-riscv64-unknown-elf
will cause "unsupported ISA subset 'z'"
error during the compilation of the emulator on M1.
For sail
, we set up the toolchain to use sail-0.16
, as the latest version 0.17.x
series will cause compilation errors.
We are using the commit 9547a30bf84572c458476591b569a95f5232c1c7
from sail-riscv
for the reference simulator, as this is the commit cloest to the time when the x86-64 reference sail emulator was added to the rv32emu
Github repo.