Fix missing parametrization of H-extension in CSR register file #50
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.
The write logic of some FPU CSRs is unconditionally relying on virtualization specific signals.
For me this caused OpenSBI >=0.9 to hang due to an unexpected invalid instruction exception when trying to set the
FCSR
register to zero. The error is triggered only if you disable the Hypervisor extension. I did not observe this issue when synthesizing for FPGA (on Cheshire platform, GenesysII target), it only triggered in simulation using Questasim 2022.3.Note that this issue does not appear upstream in the version that was merged into master. Not sure if we are planning further rebasing on upstream after merging of Hypervisor extension. It can still be worth to patch in my opinion since it prevents Linux boot.