-
Notifications
You must be signed in to change notification settings - Fork 547
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
[tracking] Pass RISC-V compliance test suite #100
Comments
We added MSCRATCH and ported RISCY to 1.10 spec. Best |
We now pass all tests, except for four tests which require a writable mtvec. Requiring this is a bug in the compliance test suite, as a read-only mtvec is explicitly allowed by the standard. |
Follow-up discussion to fix this and other issues with riscv-compliance is happening at #214. |
We are now using the unmodified upstream test suite and have writable mtvec. But we still fail on these five tests:
More investigation is needed to see what's actually going on with these tests. |
@eroom1966 did you already look into some of these issues? |
Had a quick look at the failures.
|
Yes, but the test shouldn't rely on a CSR which isn't required. Looks like these tests will need to be rewritten in some way. The two MISALIGN tests look strange indeed, and I didn't spend much time looking into what's exactly going on there. Could be an Ibex thing (though we have reasonably good DV on misaligned instructions these days), or something in the test. |
RISC-V Privileged Spec v1.11 allows BASE filed of mtvec to be 4-byte aligned. Update the assignment and usage of mtvec to use 4-byte aligned addresses. This fixes `I-EBREAK` and `I-ECALL` tests of RISC-V compliance failures reported in lowRISC#100.
RISC-V Privileged Spec v1.11 allows BASE filed of mtvec to be 4-byte aligned. Update the assignment and usage of mtvec to use 4-byte aligned addresses. This fixes `I-EBREAK` and `I-ECALL` tests of RISC-V compliance failures reported in lowRISC#100.
The test actually checks for a routine |
|
This might already have been debugged and recorded somewhere, but recording here for completeness. Having said that, it doesn't look like Ibex ever generates unaligned fetch exceptions (even if the address isn't 16bit aligned) |
It looks like the MISALIGN-LDST fails due to the compliance suite expecting traps on unaligned ldst whereas Ibex has hardware support. |
Related to #428 and some recent changes that were done upstream to address the In CI, we are running an older version 844c666 (Feb 2020). Are there any plans to update the version? |
I'm not sure how much work we want to put into the "old" riscv-compliance framework. @towoe might know more. |
Ah, I see. This makes sense. Thanks @towoe for the clarification. |
Hmm, I use this version of riscv-compliance, and with this getting 4 instruction failures instead of 5.
Fence is passing.
|
We want to execute and pass the RISC-V compliance tests on Ibex.
Setup tasks
Known issues:
The text was updated successfully, but these errors were encountered: