RISC-Vエミュレータをゼロから自作しLinuxを起動させる
RISC-V Emulator and Linux System from Scratch
WerWolv氏が公開したriscv-emulatorは、rv32ima命令セットを実装したRISC-Vエミュレータだ。libにはエミュレータ本体と最小限のエミュレートデバイス、mainにはマシン構成とWebAssembly向けの関数が含まれる。bootにはcrosstool-ngやLinuxカーネル、device tree、initramfsの設定ファイルが揃い、自作エミュレータ上でLinuxをブートさせるまでの全手順を再現できる。
A RISC-V rv32ima emulator capable of booting Linux
- kvemkon
対応するブログ記事のディスカッション: https://news.ycombinator.com/item?id=49553988
- Flex247A
ちょっと脱線: 似ているけれどもっとシンプルなプロジェクトで、カスタムRISC-Vエミュレータ上でDOOMを動かすものを作りました: https://github.com/lalitshankarch/rvcore
- westurner
ソフトウェアによるRISC-Vのエミュレーション;
container2wasmにはRISC-V用のTinyEmuがあります。
dearchap/tinyemu: https://github.com/dearchap/tinyemu
Qemuも32bitと64bitのRISC-Vをサポートしています: "RISC-V System emulator — QEMU documentation" https://www.qemu.org/docs/master/system/target-riscv.html
Emu86はPythonでRISC-Vをエミュレートし、今はWASMもサポートしているはず(記憶が正しければ):
https://news.ycombinator.com/item?id=41899475 ..
https://github.com/gcallah/Emu86/blob/master/assembler/virtu... :
class RISCVMachine(VirtualMachine):
また:
(Box96/Box64はARM64とRISC-V上でx86をエミュレートします; 例えばPortal)
以下より
https://news.ycombinator.com/item?id=44979868 :
> openhwgroupはLinuxを起動できる2段から6段までのRISC-VコアのオープンなVerilog実装を公開しています: https://github.com/openhwgroup