
RISC-V Virtual Machine

Article : RISC-Y Business: Raging against the reduced machine.
C++ Clang Compiler for Windows (16.0.5)Ce dossier contient l'hôte de la machine virtuelle (interpréteur rv64i).
Pour compiler :
cd riscvm
cmake -B build -T ClangCL
cmake --build build --config RelWithDebInfo
Ce dossier contient le projet chargé de modifier et de rendre les fichiers de bitcode LLVM (.bc) compatibles avec la compilation pour la cible riscv64. Cet outil est la magie qui nous permet de compiler un projet Windows classique avec clang-cl, puis de le convertir en un payload compatible avec l'hôte riscvm.
Pour compiler :
cd transpiler
cmake -B build -DCMAKE_PREFIX_PATH=c:/llvm-install
cmake --build build --config RelWithDebInfo
llvm-install est une installation LLVM standard. Elle doit correspondre à la version de Clang utilisée par Visual Studio (elle peut parfois être plus récente). Vous pouvez utiliser une version précompilée llvm-17.0.2-win64.7z si vous souhaitez gagner du temps lors de la compilation de LLVM.
Ce dossier contient un exemple de projet de payload.
Pour compiler :
cd payload
cmake -B build -T ClangCL
cmake --build build --config Release
Cela devrait vous donner un payload.bin pouvant être passé comme argument à riscvm pour être exécuté.