Hacker News new | ask | show | jobs
by wolfreiser 1832 days ago
There's no company behind, the work was done purely on enthusiasm. The main purpose was education and, because RISC-V boards are not widely available, software porting - including RVVM itself - I ran it on N900, but it was not so fast as I expected. Hopefully this will be resolved when JIT will be finished. As for other projects - Xash3D server was ported to RISC-V thanks to RVVM.

And saying that you've written a virtual machine sounds cool too :)

1 comments

How much time did you take to write the emulator? I am very interested in emulation and have been with wrestling with Qemu for quite sometime now to port an architecture to it. I find it needlessly complicated though.
Time required depends on complexity of the target architecture, desired performance and debugging, which is probably the most time-consuming.

At the beginning when interpreter wasn't tested yet we had a problem of Linux kernel crashing at the early stages of boot, IIRC that was memory setup. However, the bootloader (OpenSBI) booted correctly. Initially we thought that there was something unimplemented in the emulator, but it turned out there was a bug in one compressed instruction. Debugging this was a nightmare. After the fix kernel booted right to the userspace startup. So booting Linux took us about 2 months of work in total.

If you want to go form scratch compilcations will start to appear when you go out of the CPU and start implementing devices. You'll going to need them anyway because you'll want to boot from disk image or move a cursor in X :). Devices are independent of the CPU architecture and have their own standards, so implementing them will take some time too.