Skip to content
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

Open
towoe opened this issue Jan 18, 2021 · 5 comments
Open

ISA Extension Naming U #52

towoe opened this issue Jan 18, 2021 · 5 comments

Comments

@towoe
Copy link
Contributor

towoe commented Jan 18, 2021

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?

@neelgala
Copy link
Collaborator

neelgala commented Jan 18, 2021

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 ?

@aswaterman
Copy link

@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.

@allenjbaum
Copy link

allenjbaum commented Jan 19, 2021 via email

@aswaterman
Copy link

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.

@kasanovic
Copy link

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants