-
Notifications
You must be signed in to change notification settings - Fork 705
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] no Spike configuration to disable S-mode [compliance, csr and tests-p failing on master] #1599
Comments
@AEzzejjari could you take a look at this issue (related to condition on S-mode)? |
This bug is caused by Spike, which supports supervisor mode unlike the embedded version of cva6. Therefore, we need to modify Spike's configuration to disable SMODE and trigger an exception when accessing a supervisor mode register, as cva6 did. |
I think you need to disable S mode in
Maybe |
I would suggest to use the option |
There is a bug in current spike implementation that does not let to change priv with the param, I am working on fixing it. |
There's another potential issue with Spike: at first analysis, the Spike model instantiates all CSRs from the RISC-V specs no matter what restrictions are imposed on the current privilege set. This means that there is no way to "remove" (mark as "inexistent") the CSRs of a temporarily unsupported privilege level. E.g., with the privilege set restricted to Machine only ( |
Chapter 3 of The Privileged Spec V20211203 says:
The next paragraph (start of Section 3.1) states that;
According to the first quoted text, if no privilege levels lower than M-mode are supported and the hardware implementation decides so, the CSRs at lower privilege levels can be omitted (and treated as non-existent). |
Already solved |
Is there an existing CVA6 bug for this?
Bug Description
master
branch has 3 failing tests since 4b67475:These three jobs pass on the direct parent commit 53d3880
So #1574 revealed issues with these tests, and the CI is red since.
The text was updated successfully, but these errors were encountered: