
RISC-V виртуальная машина

Статья: RISC-Y Business: Ярость против урезанной машины.
C++ Clang Compiler for Windows (16.0.5)Эта папка содержит хост ВМ (интерпретатор rv64i).
Сборка:
cd riscvm
cmake -B build -T ClangCL
cmake --build build --config RelWithDebInfo
Эта папка содержит проект, отвечающий за изменение и приведение файлов LLVM Bitcode (.bc) к виду, совместимому с компиляцией для целевой архитектуры riscv64. Этот инструмент — та самая магия, которая позволяет собрать обычный проект Windows с помощью clang-cl, а затем преобразовать его в полезную нагрузку, совместимую с хостом riscvm.
Сборка:
cd transpiler
cmake -B build -DCMAKE_PREFIX_PATH=c:/llvm-install
cmake --build build --config RelWithDebInfo
llvm-install — это обычная установка LLVM. Она должна соответствовать версии Clang, используемой Visual Studio (иногда она может быть более новой). Вы можете использовать предварительно собранный llvm-17.0.2-win64.7z, если хотите сэкономить время на сборке LLVM.
Эта папка содержит пример проекта полезной нагрузки.
Сборка:
cd payload
cmake -B build -T ClangCL
cmake --build build --config Release
В результате вы получите файл payload.bin, который можно передать в качестве аргумента riscvm для выполнения.