There are several tools to "virtualize" the RISC-V on other systems.
Most of these can be found under
https://github.com/riscv
These would include
angel which is a javascript/web risc-v simulator
spike which as I understand is sort of the "reference platform" for
RISC-V - if hardware behaves differently than spike, the hardware is
wrong. Atleast that is how I understand it.
and qemu.
I have been building.using each of these over the past couple of weeks
on an x86-64 running linux, simulating a RISC-V64.
That all seems to work well. spike and qemu will currently boot linux,
or run linux applications directly using linux system call emulation.
I have personally been more interested in RISC-V32. That does not work
out of the box at the moment.
But the changes necescary are to Makefiles or config files.
At this time I have been able to get RISC-V32 linux applications
(atleast hello world) running with both spike and qemu.
I am working to get linux itself booting with spike and qemu.
I do not have that working for me yet.
I started using the freedom-u-sdk - which can be found on sifive's
site. But that appears to just be mostly a git project of projects,
and is just pulls most of the risc-v repositories from github.
I have also built the peices using individual repositories and
instructions on github.
There are a small number of errors or things that are out of date in
the README.md's on github. As an example the current linux is 4.15 not
3.4
Anyway that is what I know for the moment.
Hopefully that is useful to you.
Others here can correct my errors or expand on anything I have said.