
RISC-V Virtual Machine

लेख: RISC-Y बिज़नेस: संक्षिप्त मशीन के खिलाफ आक्रोश.
C++ Clang Compiler for Windows (16.0.5) घटक के साथइस फ़ोल्डर में VM होस्ट (rv64i इंटरप्रेटर) है।
बिल्ड करने के लिए:
cd riscvm
cmake -B build -T ClangCL
cmake --build build --config RelWithDebInfo
इस फ़ोल्डर में वह प्रोजेक्ट है जो LLVM Bitcode (.bc) फ़ाइलों को riscv64 target के साथ संकलन के लिए संगत बदलने/बनाने के लिए ज़िम्मेदार है। यह उपकरण वह जादू है जो हमें clang-cl के साथ एक सामान्य Windows प्रोजेक्ट बिल्ड करने और फिर उसे riscvm होस्ट के साथ संगत payload में परिवर्तित करने में सक्षम बनाता है।
बिल्ड करने के लिए:
cd transpiler
cmake -B build -DCMAKE_PREFIX_PATH=c:/llvm-install
cmake --build build --config RelWithDebInfo
llvm-install एक सामान्य LLVM इंस्टॉलेशन है। यह Visual Studio द्वारा उपयोग किए गए Clang के संस्करण से मेल खाना चाहिए (कभी-कभी यह बाद का हो सकता है)। यदि आप LLVM बिल्ड करने में कुछ समय बचाना चाहते हैं, तो आप एक पूर्व-संकलित llvm-17.0.2-win64.7z का उपयोग कर सकते हैं।
इस फ़ोल्डर में एक उदाहरण payload प्रोजेक्ट है।
बिल्ड करने के लिए:
cd payload
cmake -B build -T ClangCL
cmake --build build --config Release
इससे आपको एक payload.bin मिलेगा जिसे निष्पादन के लिए riscvm को तर्क के रूप में पारित किया जा सकता है।