Risc-V simulator
ninja Simulator
./build/Simulator <path-to-elf-file>
compile-elf.sh <input-file> <output-dir> <output-filename>
Example:
compile-elf.sh ./test/2.s ./build myelf
We have integration testing. You can run code below to check if all tests work:
./test_runner.sh
riscv64-linux-gnu-gcc -march=rv64im -nostdlib -mabi=lp64 -static <test-path> -o <out-path> //compile
Example:
riscv64-linux-gnu-gcc -march=rv64im -nostdlib -mabi=lp64 -static ./test/8-queens.c -o ./build/8-q
riscv64-linux-gnu-objdump -D -s <elf-path> > <out-path> //objdump
./Simulator <elf-path> //run
- Create your own brunch to develop your own module.
- Master only for releases but there are no lock to push in master.
- Use ninja, it's much more faster, than
Unix Makefiles
. - If you don't like module name, you can rename it, but please fix main
CMakeLists.txt
with new correct path. - Please add all requirements you're isntalling, to script.
- [MARIA + NIKITA]: Confirm heart API for instructions map generation.
Basic instructions like GetReg, SysCall and others. - [ALEKSEY + NIKITA]: Confirm machine API for memory access.
- [ALEKSEY]: ninja target
clang-force-format
.
- [ALEKSEY]: Do we need to implement SysCalls like printf and others.
- [NIKITA]: Release instructions decoding in parallel.
Basic version:
- Instructions map generation - [MARIA]
- Machine - [NIKITA]
- Loader - [ALEKSEY]