Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This PR implements v0.6.1 of the RISC-V Hypervisor Extension. The implementation was inspired by José Martins' and colleagues' work described in [1]. Much of the microarchitecture and essentially all of the code is new, but their implementation served as our baseline. We thank them for trailblazing hypervisor support in rocket-chip. Note that this PR only includes the mechanisms to virtualize the hart itself. Virtualized interrupt controllers, IOMMUs, etc. are future work. Lots of future work. Note also that some features are (legally) not implemented. Currently, misa.H is not writable, something we may or may not choose to fix. The mtval2 htval, mtinst, and htinst CSRs are hardwired to 0, placing additional onus on hypervisor software. We think it's likely we'll eventually implement these CSRs less trivially, at least in some cases. [1] "A First Look at RISC-V Virtualization from an Embedded Systems Perspective", https://arxiv.org/abs/2103.14951
- Loading branch information