-
Notifications
You must be signed in to change notification settings - Fork 45
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
ISA Extension Naming U #52
Comments
well I have been looking at the misa table 3.2 which mentions "U" as user mode implemented. But you are right table 26.1 in the unpriv should have the U mode mapped to User mode - similar to the supervisor. @allenjbaum @aswaterman - spec needs to be updated ? |
@kasanovic is working on rewriting that chapter, so I'll leave it as a note to him that S and U are omitted from Table 26.1 and probably should be included. |
I think I am missing context.
I think you are saying that Table 26.1 (or wherever if moves to)
should list extensions that are strictly U-mode as _Upqr for extension
"pqr", just as it does for M, S, and H mode extenstions
OF course, there are many existing umode only extensions (M, for example)
that use just misa.<something> bits.
It's only when we run out of those letters that we go to _U*, but
subextensions of misa.* extensions instead use _Z* rather than _U*.
Except when they use Zi* (Zicsr, Zifencei).
Except when they just use some letter that hasn't been assigned yet (Ztso)
This is getting pretty weird.
Standard User-level Extensions should appear before Standard Supervisor
Level extensions then.
IT would be nice if there was some rationale for the canonical order, e.g.
alphabetical (within category: standard unpriv extensions,U/S/H/M mode
extensions, Z extensions, X extensions))
Why does Q come before C? Why does L come after Q ?
…On Mon, Jan 18, 2021 at 9:30 PM Neel Gala ***@***.***> wrote:
well I have been looking at the misa table 3.2 which mentions "U" as user
mode implemented. But you are right table 26.1 in the unpriv should have
the U mode mapped to User mode - similar to the supervisor.
@allenjbaum <https://github.com/allenjbaum> @aswaterman
<https://github.com/aswaterman> - spec needs to be updated ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#52 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHPXVJSIA3SQXMHE2ITJSZ3S2UKHLANCNFSM4WHPSACQ>
.
|
I was trying my best not to say anything at all. I think that, given that things like Sxyz are included in Table 26.1, S and U should be, too. Beyond that opinion, I'm going to withhold comment until Krste delivers a new chapter. |
I'll defer most comments until I've had chance to update naming chapter, but one terminology comment is that most instructions are "unprivileged" (i.e., don't assume they're running at a certain privilege level) versus "user-level" (which would imply they're somehow only relevant/allowed for user-level code). |
https://github.com/riscv/riscv-config/blob/faab5e604cf0688f30437e1d92657fe37e5cdd99/riscv_config/schemaValidator.py#L84
The ISA string is checked for the letter 'U', but according to the description in the schema it should contain the extensions according to the user spec. In unprivileged spec version 20191213 section 27.11 'U' is not named as an extension.
I understand that this is reused to check the MISA register, but maybe the schema needs to be updated or 'U' removed?
The text was updated successfully, but these errors were encountered: