riscv-config
riscv-config copied to clipboard
ISA Extension Naming U
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?
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.
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 [email protected] 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 https://github.com/riscv/riscv-config/issues/52#issuecomment-762337269, 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).