Sunday, May 11, 2025

Show HN: Miralis – a RISC-V virtual firmware monitor https://ift.tt/oCE6zqp

Show HN: Miralis – a RISC-V virtual firmware monitor Miralis is a RISC-V firmware that virtualizes RISC-V firmware. In other words, it runs firmware in user-space (M-mode software in U-mode). The fact that this is even possible is interesting: indeed, not all ISAs are virtualizable, and the same applies for their firmware mode. It all boils down to the virtualization requirements [1], which is a great read if you haven't come across it yet. Arm's EL3 cannot be virtualized, for instance, because some instructions, such as `cpsid`, are sensitive but do not trap (`cpsid` is a nop in user-space). If you have a VisionFive 2 or a HiFive Premier P550, you can try it out, the instructions are in the documentation [2, 3]. Of course, it runs on QEMU too. As Miralis is a research project, we have also been using it as a vehicle to explore other research ideas, such as automated verification of hypervisors [4]. For instance, we verified instruction emulation by comparing Miralis' implementation with the reference RISC-V executable specification [5], which we translated to Rust. It has been fun working on Miralis, I hope you'll find it interesting too! [1]: https://ift.tt/r4iqDYx [2]: https://ift.tt/qUZg18W... [3]: https://ift.tt/V6cmHO5... [4]: https://ift.tt/amGO36d... [5]: https://ift.tt/kUROiEn https://ift.tt/ItEksPJ May 10, 2025 at 11:28PM

No comments:

Post a Comment

Show HN: Pocket2Linkding – Migrate from Mozilla Pocket to Linkding https://ift.tt/IwYJfju

Show HN: Pocket2Linkding – Migrate from Mozilla Pocket to Linkding With the Mozilla Pocket shutdown coming up in about two weeks, I thought ...