-
Notifications
You must be signed in to change notification settings - Fork 10
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
List of CSRs #30
Comments
Ah! I reckon the way to tackle that is probably to turn |
@gameboo Yes, we need to somehow tag the Can we make it part of the filter function? As in it does not only filter the ones the user does not want, but also the ones that are implicitly not allowed by the arch string? |
There's a few things that make this annoying. One is that you may want to test the CSR behaviour even if you don't support the extension, i.e. check you get the correct illegal instruction exception: in the past we've tried to split out the set of tested features from the set of supported features, but it's possible this isn't actually very important to anyone and we should just drop it. Another is that the CSRs are almost all WARL or implementation-defined in some way. Even if you do support the extension, you likely still expect divergence between implementations in all but the simplest cases. That said, something like what @gameboo said sounds sensible, and also applies to instructions themselves. There are two cases:
Hope that makes sense to everyone? |
The list of CSRs is currently defined here:
QuickCheckVEngine/src/RISCV/RV_CSRs.hs
Line 130 in 9fc7ec5
I found two issues with that list and its usage:
QuickCheckVEngine/src/QuickCheckVEngine/Main.hs
Line 281 in 9fc7ec5
As I understand the code it will return floating point CSRs even if the arch verification string does not specify "F" or "D".
The text was updated successfully, but these errors were encountered: