RISCV is a VEEEEERY poor emulation target - the piecemeal scattering of immediates all over the instr makes it very slow to assemble them (lots of ANDs, shifts, and ORs) . Re-encoding them is one solution, yeah, but then this is a mandatory messy post-compilation step that also needs to know what is code and what is data. It is almost a pessimal setup. MIPS is much simpler to emulate
Hey, wait a minute, you're the guy who got Linux to run on a 4004 by writing a MIPS emulator[1]! If there's anyone who's been down a similar path before it'd have to be you.
[1] - https://dmitry.gr/?r=05.Projects&proj=35.%20Linux4004
Yup. And that one of the reasons why not RISCV