-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add hypervisor extension #2841
Merged
Add hypervisor extension #2841
Commits on Dec 23, 2021
-
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
Configuration menu - View commit details
-
Copy full SHA for 5cad4b1 - Browse repository at this point
Copy the full SHA 5cad4b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7788654 - Browse repository at this point
Copy the full SHA 7788654View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb12a1a - Browse repository at this point
Copy the full SHA cb12a1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for c3f0be7 - Browse repository at this point
Copy the full SHA c3f0be7View commit details -
Configuration menu - View commit details
-
Copy full SHA for cbe61d8 - Browse repository at this point
Copy the full SHA cbe61d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05f4681 - Browse repository at this point
Copy the full SHA 05f4681View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb63dc5 - Browse repository at this point
Copy the full SHA eb63dc5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 41b48f9 - Browse repository at this point
Copy the full SHA 41b48f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c4b1a5 - Browse repository at this point
Copy the full SHA 1c4b1a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 202aa69 - Browse repository at this point
Copy the full SHA 202aa69View commit details -
Configuration menu - View commit details
-
Copy full SHA for 155498a - Browse repository at this point
Copy the full SHA 155498aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f83c2b - Browse repository at this point
Copy the full SHA 4f83c2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 388c174 - Browse repository at this point
Copy the full SHA 388c174View commit details -
Configuration menu - View commit details
-
Copy full SHA for df7cbe1 - Browse repository at this point
Copy the full SHA df7cbe1View commit details -
Configuration menu - View commit details
-
Copy full SHA for b387152 - Browse repository at this point
Copy the full SHA b387152View commit details -
Configuration menu - View commit details
-
Copy full SHA for d787b89 - Browse repository at this point
Copy the full SHA d787b89View commit details -
Configuration menu - View commit details
-
Copy full SHA for b8bdcf0 - Browse repository at this point
Copy the full SHA b8bdcf0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5039f8f - Browse repository at this point
Copy the full SHA 5039f8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e7d2a7 - Browse repository at this point
Copy the full SHA 7e7d2a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b53c2f - Browse repository at this point
Copy the full SHA 8b53c2fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f79178 - Browse repository at this point
Copy the full SHA 5f79178View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5dcdea4 - Browse repository at this point
Copy the full SHA 5dcdea4View commit details -
Update the aux_count value to be 0 when vstage1 is disabled. RTL inco…
…rrectly taking store access fault when stage1 MMU off.
Configuration menu - View commit details
-
Copy full SHA for 725c171 - Browse repository at this point
Copy the full SHA 725c171View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba6d279 - Browse repository at this point
Copy the full SHA ba6d279View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0299687 - Browse repository at this point
Copy the full SHA 0299687View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1714680 - Browse repository at this point
Copy the full SHA 1714680View commit details -
Configuration menu - View commit details
-
Copy full SHA for ebe27d6 - Browse repository at this point
Copy the full SHA ebe27d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 20a73d1 - Browse repository at this point
Copy the full SHA 20a73d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for ee11a33 - Browse repository at this point
Copy the full SHA ee11a33View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbe291c - Browse repository at this point
Copy the full SHA dbe291cView commit details -
rocket: add htval/mtval2 support
The change to take_pc_mem is necessary to guarantee that the GPA from the frontend is still valid at commit.
Configuration menu - View commit details
-
Copy full SHA for 1ae8eec - Browse repository at this point
Copy the full SHA 1ae8eecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d8d991 - Browse repository at this point
Copy the full SHA 9d8d991View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6810179 - Browse repository at this point
Copy the full SHA 6810179View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c0a43a - Browse repository at this point
Copy the full SHA 3c0a43aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 746a64b - Browse repository at this point
Copy the full SHA 746a64bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4db3e3e - Browse repository at this point
Copy the full SHA 4db3e3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e4f038e - Browse repository at this point
Copy the full SHA e4f038eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 412c89f - Browse repository at this point
Copy the full SHA 412c89fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 617fa92 - Browse repository at this point
Copy the full SHA 617fa92View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53bab37 - Browse repository at this point
Copy the full SHA 53bab37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 834c54a - Browse repository at this point
Copy the full SHA 834c54aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a87ef0d - Browse repository at this point
Copy the full SHA a87ef0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 297e058 - Browse repository at this point
Copy the full SHA 297e058View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2bb93eb - Browse repository at this point
Copy the full SHA 2bb93ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c952ae - Browse repository at this point
Copy the full SHA 3c952aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b64fdc - Browse repository at this point
Copy the full SHA 6b64fdcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ed2918 - Browse repository at this point
Copy the full SHA 3ed2918View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e0ee81 - Browse repository at this point
Copy the full SHA 0e0ee81View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96be395 - Browse repository at this point
Copy the full SHA 96be395View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27dc0e0 - Browse repository at this point
Copy the full SHA 27dc0e0View commit details -
PTW: Stage-2 should check for a PPN-out-of-range access fault before …
…continuing to Stage-1
Configuration menu - View commit details
-
Copy full SHA for f87dd6c - Browse repository at this point
Copy the full SHA f87dd6cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7dc906e - Browse repository at this point
Copy the full SHA 7dc906eView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.