
RISC-V Virtual Machine

Artículo: RISC-Y Business: Raging against the reduced machine.
C++ Clang Compiler for Windows (16.0.5)Esta carpeta contiene el host de la VM (intérprete rv64i).
Para compilar:
cd riscvm
cmake -B build -T ClangCL
cmake --build build --config RelWithDebInfo
Esta carpeta contiene el proyecto responsable de modificar los archivos LLVM Bitcode (.bc) para hacerlos compatibles con la compilación para el destino riscv64. Esta herramienta es la magia que nos permite compilar un proyecto normal de Windows con clang-cl y luego convertirlo en un payload compatible con el host riscvm.
Para compilar:
cd transpiler
cmake -B build -DCMAKE_PREFIX_PATH=c:/llvm-install
cmake --build build --config RelWithDebInfo
llvm-install es una instalación normal de LLVM. Debe coincidir con la versión de Clang utilizada por Visual Studio (a veces puede ser posterior). Puedes usar un llvm-17.0.2-win64.7z precompilado si quieres ahorrar tiempo compilando LLVM.
Esta carpeta contiene un proyecto de payload de ejemplo.
Para compilar:
cd payload
cmake -B build -T ClangCL
cmake --build build --config Release
Esto debería darte un payload.bin que se puede pasar como argumento a riscvm para ejecutarlo.