-
Notifications
You must be signed in to change notification settings - Fork 675
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 initial Sail snippets #1838
base: main
Are you sure you want to change the base?
Conversation
Add Makefile targets to download the Sail JSON bundle from Github releases (it's a few MB so this avoids bloating the repo). I updated a few scalar crypto functions that already had copy & pasted Sail code to use the model source instead. The result is almost identical.
Note, @Alasdair has demonstrated a fancier version of this with syntax highlighting and hyperlinked code (e.g. so you can click on Before: After: (The Sail code has changed a little since that was copy/pasted.) |
Question, do we need to care about the version of the SAIL model we're pulling the index from? I recognize SAIL isn't at v.1.0 yet so perhaps at this point we don't, but in the future should we? Or perhaps we pair a SAIL version with the riscv-isa-manual src when we build a release for publication? |
There are a couple of aspects to that:
For the second point my vague plan was:
and you say "yeah but I know the version is 1.12", and then it will only insert I don't think Alasdair has published that yet so I'm not exactly sure what you have to do but it will probably end up with us having separate However, I also don't think that is a blocker. I would suggest initially we just use it for snippets where the behaviour has never changed and is unlikely to change in future. |
Excellent, thanks Tim, I mostly wanted to be sure the versioning question was on the table for discussion. So thanks for confirming to me that it is indeed out there. |
I'm curious what parts of sail are actually supposed to be integrated into the risc-v manual? Are we just talking about the execution function of each instruction? |
Mostly the
(And I think this code could be improved a fair bit too before we include it, e.g. |
Add Makefile targets to download the Sail JSON bundle from Github releases (it's a few MB so this avoids bloating the repo).
I updated a few scalar crypto functions that already had copy & pasted Sail code to use the model source instead. The result is almost identical.
See #1369.