
RISC-V Virtual Machine

Artigo: RISC-Y Business: Raging against the reduced machine.
C++ Clang Compiler for Windows (16.0.5)Esta pasta contém o host da VM (interpretador rv64i).
Para compilar:
cd riscvm
cmake -B build -T ClangCL
cmake --build build --config RelWithDebInfo
Esta pasta contém o projeto responsável por modificar e tornar os arquivos LLVM Bitcode (.bc) compatíveis para compilação com o alvo riscv64. Esta ferramenta é a mágica que nos permite compilar um projeto Windows comum com clang-cl e depois convertê-lo em um payload compatível com o host riscvm.
Para compilar:
cd transpiler
cmake -B build -DCMAKE_PREFIX_PATH=c:/llvm-install
cmake --build build --config RelWithDebInfo
O llvm-install é uma instalação LLVM comum. Ele deve corresponder à versão do Clang usada pelo Visual Studio (às vezes pode ser mais recente). Você pode usar um llvm-17.0.2-win64.7z pré-compilado se quiser economizar algum tempo compilando o LLVM.
Esta pasta contém um projeto de payload de exemplo.
Para compilar:
cd payload
cmake -B build -T ClangCL
cmake --build build --config Release
Isso deve gerar um payload.bin que pode ser passado como argumento para riscvm para execução.