-
Notifications
You must be signed in to change notification settings - Fork 158
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
Support multiple spec versions #319
Labels
configuration
Additional configuration settings needed for the model
Comments
Officially, there are no spec versions, just extensions - except the priv
spec has extension names with numbers in them. (e.g. priv 1.11, 1.12, and
eventually 1.13 I suppose).
There are some chips out there that have implemented unratified versions of
specs - those are considered custom extensions.
Whether we want to support those in Sail is a different discussion.
…On Tue, Oct 10, 2023 at 5:26 AM Tim Hutt ***@***.***> wrote:
Currently the model doesn't really say what version of any of the
specifications it is implementing. We need to add functions in the model to
allow switching on the versions.
In the medium term these can be controlled by command line flags. In the
long term they can come from the riscv-config YAML. That has entries for
the privileged and unprivileged specs
<https://riscv-config.readthedocs.io/en/stable/yaml-specs.html#user-spec-version>
which they have confusingly called User_Spec_Version for some reason.
More spec versions are required for all the extensions that are supported
(e.g. bitmanip, vector). Those two would be a start though.
—
Reply to this email directly, view it on GitHub
<#319>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHPXVJQWUVJP6STPSVXUXEDX6U5HXAVCNFSM6AAAAAA52IUOPWVHI2DSMVQWIX3LMV43ASLTON2WKOZRHEZTKMRSHEYTOMA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Timmmm
added
the
configuration
Additional configuration settings needed for the model
label
May 7, 2024
I've assigned myself this issue. I'll be working on PRs for implementation of priv 1.13 features. |
I think it's probably a good idea to add the mechanism for specifying the priv/unpriv spec version (i.e. a version enum, checking function and command line flags) before adding any new features. Also 1.13 doesn't seem to exist - it uses date based versions now apparently. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently the model doesn't really say what version of any of the specifications it is implementing. We need to add functions in the model to allow switching on the versions.
In the medium term these can be controlled by command line flags. In the long term they can come from the riscv-config YAML. That has entries for the privileged and unprivileged specs which they have confusingly called
User_Spec_Version
for some reason.More spec versions are required for all the extensions that are supported (e.g. bitmanip, vector). Those two would be a start though.
The text was updated successfully, but these errors were encountered: