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

issue #401 - First round of changes to improve clarity of document. Removed mention of U-mode interrupts. #403

Merged
merged 4 commits into from
Sep 5, 2024

Conversation

james-ball-qualcomm
Copy link
Collaborator

This PR contains my many updates to the CLIC spec to improve clarity. Based on discussions in the Fast Interrupt TG, I removed references to user-mode interrupts to simplify the specification. If the N extension someday moves forward towards ratification, we can add in support to the CLIC specification at that time.

| smclicshv | Selective Hardware Vectoring for M-mode
| smclicconfig | Allows implementations to support different parameterizations of CLIC extensions
|
|===
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this table is giving an error in the build process

is specified using the Indirect CSR Access extension method (Smcsrind/Sscsrind). A CSR accessible via
indirect CSR access may or may not be accessible via another method such as memory-mapped access.
Access to CLIC registers clicintctl[i], clicintattr[i], clicintip[i], clicintie[i], and clicinttrig[i]
utilizes the Indirect CSR Access extension (Smcsrind/Sscsrind). Implementations may support
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good i like it.

0x1000+i | 23:16 | RW clicintctl[i x 4 + 2] | 23:16 | RW clicintattr[i x 4 + 2] | setting for interrupt i x 4 + 2 |
0x1000+i | 31:24 | RW clicintctl[i x 4 + 3] | 31:24 | RW clicintattr[i x 4 + 3] | setting for interrupt i x 4 + 3 |
----
All CLIC registers are visible to M-mode.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't this be covered by the privileged spec?

In this miselect offset range,
Each mireg register controls the clic level/priority setting of four interrupts
Each mireg2 register controls the clic attribute setting of four interrupts
NOTE: Since accessing `clicintip[__i__]`, `clicintie[__i__]`, `clicintattr[__i__]`,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure this note is needed.

1 01 Supervisor S
2 10 Reserved
3 11 Machine M
Mode Value Name Abbreviation
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why actually repeat this here at all?


when not in CLIC mode, {cause} has the CLINT mode format.
When not in CLIC mode, {cause} has the CLINT mode format.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be xcause?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the ASCIIDOC converts {cause} to xcause automatically. BTW, this happens everywhere and for other CSR names too.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

got it. I commented it because above there was a fix for xIE or so. So maybe it should be done there too.

@christian-herber-nxp
Copy link
Collaborator

i went roughly half through this PR for now. I gave some comments, but I don't think I can review this as a whole.
In general, it is good to limit the scope of a PR to one issue to enable a good review.
E.g. a single PR to fix the notion of mode/level would be easy to review.

@james-ball-qualcomm
Copy link
Collaborator Author

james-ball-qualcomm commented Sep 4, 2024 via email

@james-ball-qualcomm james-ball-qualcomm merged commit b1092bc into master Sep 5, 2024
2 checks passed
@james-ball-qualcomm
Copy link
Collaborator Author

I did the merge since it was approved (hope I'm supposed to do this, I'm still learning GitHub)

@james-ball-qualcomm james-ball-qualcomm deleted the James-Ball-CLIC-Clarifications branch September 5, 2024 17:20
@christian-herber-nxp
Copy link
Collaborator

I did the merge since it was approved (hope I'm supposed to do this, I'm still learning GitHub)

looks good. I would recommend to do a squash merge in future, to make to have one commit on the main branch per PR.

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

Successfully merging this pull request may close these issues.

3 participants