-
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
[Bug Report] incorrect xs field check under VS #2980
Comments
@aswaterman Would you please confirm this report? |
I would have said this differently: RoCC and Hypervisor extension are currently incompatible. This is a request for a new feature, not a report about a bug. Please work with the folks at UC Berkeley who use RoCC to make sure they are OK with whatever you propose. I don't work with RoCC. (cc @jerryz123 to see who should work with you on this PR.) |
I still insist that this is a bug, and this report contains two problems.
rocket-chip/src/main/scala/rocket/CSR.scala Lines 1337 to 1347 in 850e1d5
|
I agree XS should not be directly writable, but it’s only a bug that manifests with RoCC enabled, and so the maintainers/users of RoCC (i.e. not me :-)) should deal with it. I also agree that rocc_illegal should use XS, not VS, but this is really an unrelated topic. Please keep bug reports to one bug at a time. |
The last time this came up was 2 years ago. This issue gives me deja-vu. I believe XS should be read-only, but hard wired to dirty when RoCC is present. #2508 |
I agree that’s the lowest-effort-but-seemingly-correct thing to do. It also makes it obvious what to do with vsstatus. |
Thanks to Andrew and Jerry, the bugs mentioned have been fixed. |
Type of issue: bug report
Impact: unknown
Development Phase: proposal
Other information
In the following test case, we first enable mpv and xs bit in mstatus, and then set up xs field in vsstatus. With the xs field, any custom instructions should not raise illegal signal.
From the co-simulation result, spike successfully executes the rocc instruction, while rocket throws an exception.
rocket-7.zip
We believe there is a typo in the rocc_illegal signal, where the
.vs
should be.xs
:rocket-chip/src/main/scala/rocket/CSR.scala
Line 854 in 850e1d5
Please tell us about your environment:
- version: edc8d40
The text was updated successfully, but these errors were encountered: