-
Notifications
You must be signed in to change notification settings - Fork 199
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
Add support for the Zicond ISA extension #321
Conversation
Link for test results using RISCOF can be found here. |
Zicond extension has no support in either Sail or gcc compiler. Can you give any pointer on which compiler toolchain have you used to build these tests and how have you run these tests on riscof? |
Zicond support for Binutils is upstream for quite some time: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=b625eff8a2346fe1107aa4ab7bbf4302f2c2136e GCC support is not needed for this repository. The changes for CTG are linked in the description of this PR (riscv-software-src/riscv-ctg#59). Zicond support for Sail has been merged a few months ago: riscv/sail-riscv#206 The exact commands to generate the tests can be found in the description of the PR. |
To execute the tests, ensure you have the appropriate versions of Binutils, Spike, and SAIL installed. Once verified, you can initiate the tests using: $ riscof testlist --config config.ini --suite riscv-arch-test/riscv-test-suite/rv64i_m/Zicond/ --env=riscv-arch-test/riscv-test-suite/env
[ ... ]
$ riscof run --config config.ini --suite riscv-arch-test/riscv-test-suite/rv64i_m/Zicond/ --env=riscv-arch-test/riscv-test-suite/env --no-browser
INFO | TEST NAME : COMMIT ID : STATUS
INFO | /home/cmitrodimas/repositories/ACTs/riscv-arch-test/riscv-test-suite/rv64i_m/Zicond/src/czero.eqz-01.S : - : Passed
INFO | /home/cmitrodimas/repositories/ACTs/riscv-arch-test/riscv-test-suite/rv64i_m/Zicond/src/czero.nez-01.S : - : Passed
INFO | Test report generated at /home/cmitrodimas/repositories/ACTs/riscof_work/report.html. |
Thanks. I will make it work at my end. |
@charmitro I have updated binutils but upon compilation, it is giving unrecognized opcode error on czero.nez. |
What is the exact error message? |
@cmuellner The exact error message is |
@charmitro , @cmuellner kind reminder. Can I get the binaries of Zicond tests? |
CHANGELOG.md
Outdated
@@ -1,5 +1,8 @@ | |||
# CHANGELOG | |||
|
|||
## [3.6.3] - 2023-03-21 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to change this Changelog entry as there are a lot of PRs merged since this update, and this version number is taken.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update the Changelog file, rest of the files are ready to go.
Updating the Changelog of all PRs after each new commit on master does not scale. Also, it seems you solved the issues with your toolchain. It would be great to share your solution, so that others which face the same issue can learn from your solution. |
You are absolutely right. Some moderator/writer will be assigned soon by sig-arch-tests team who will be managing this Changelog issue in future to make it scalable. @allenjbaum and co are working on our governance policies. For this time only, in order to remove the backlog, you are requested to update the file manually as nobody else the write access to this PR. Once you resolve the conflict, this PR will be merged right away. |
Yes I resolved the issue, I found the gcc patch online which compiled the tests and I executed it successfully |
This patch intoduces a coverage model and the generated test cases using riscv_ctg. The tests have been generated using the following command: riscv_ctg.py \ --cgf coverage/dataset.cgf \ --cgf coverage/zicond.cgf \ -bi rv32i \ -d tests/ riscv_ctg.py \ --cgf coverage/dataset.cgf \ --cgf coverage/zicond.cgf \ -bi rv64i \ -d tests64/ The resulting tests have been copied to the target directory: cp tests/*S riscv-test-suite/rv32i_m/Zicond/src/ cp tests64/*S riscv-test-suite/rv64i_m/Zicond/src/ This PR depends on Zicond support in the riscv-ctg repo: riscv-software-src/riscv-ctg#59 Signed-off-by: Christoph Müllner <[email protected]>
PR has been rebase and Changelog has been updated (new version and today's date). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to go now.
Also note, that the Changelog contains a merge-artifact: version 3.6.6-3.7.1 are duplicated. Personally, I don't like the Changelog file approach. Especially if each patchset needs to bump a release number. Putting aside the (subjective) don't-like aspect, there is still something that can be improved to make this approach scaling by looking at the GCC project. |
@UmerShahidengr: We already ran into a new conflict, since other PRs were merged since you requested my update. And the request-for-update and the update were made two weeks ago. |
Signed-off-by: Allen Baum <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resolved merge conflicts in changelog & updated the date
Thanks, @allenjbaum, @UmerShahidengr, and @charmitro! Perfect timing, as Zicond's ratification has just been announced. |
This patch introduces a coverage model and the generated test cases using riscv_ctg.
The tests have been generated using the following command:
The resulting tests have been copied to the target directory:
This PR depends on Zicond support in the riscv-ctg repo:
riscv-software-src/riscv-ctg#59
Open topics:
arch_test.h
, because there is zero documentation on what to do with that, and it differs fundamentally from./riscv-test-suite/env/arch_test.h
encoding.h
because there is zero documentation on what to do with that, and it differs strangely from./riscv-test-suite/env/encoding.h
(which has three more CSRs...)Guidance on these open topics would be very welcome.
Description
Related Issues
Ratified/Unratified Extensions
List Extensions
Reference Model Used
Mandatory Checklist:
Optional Checklist: