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

Clarifications to PTE specification #469

Merged
merged 7 commits into from
Dec 12, 2024

Conversation

Timmmm
Copy link
Contributor

@Timmmm Timmmm commented Dec 10, 2024

Some minor clarification & formatting improvements in the PTE spec. I can break these into separate PRs if you like.

This clause order makes it more obvious from visual scanning that the difference is "and the capability read from memory has tag set".

I also added "its" for grammar make good.
This makes it flow a bit better I think because the actual behaviour of CRG is separated from the atomicity & memory ordering requirements that I want to put off reading.
Explicitly say that they are still reserved in non-leaf nodes. This matches the behaviour for Svpmbt for example (and I copied some of the text from there).
Clarify that the PTE check for a tag when storing capabilities happens after they are potentially removed by permission checks.
@Timmmm Timmmm force-pushed the user/timh/pte_tweaks branch from 0116f7f to 092803f Compare December 10, 2024 10:57
@tariqkurd-repo tariqkurd-repo self-requested a review December 10, 2024 16:25
Copy link
Collaborator

@tariqkurd-repo tariqkurd-repo left a comment

Choose a reason for hiding this comment

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

We haven't previously specified when happens on non-leaf PTEs, and there's no reason to allocate these bits there so it's better if we define them to be reserved, so I think this is sensible.

The other edits are all no-change, just improving the formatting and explicitly pointing at that the tag clear on SC is before the PTE check.

@tariqkurd-repo
Copy link
Collaborator

We haven't previously specified when happens on non-leaf PTEs, and there's no reason to allocate these bits there so it's better if we define them to be reserved, so I think this is sensible.

The other edits are all no-change, just improving the formatting and explicitly pointing at that the tag clear on SC is before the PTE check.

@Timmmm has pointed out that it is just a clarification as the text only talks about leaf PTEs

src/cheri-pte-ext.adoc Outdated Show resolved Hide resolved
Copy link
Collaborator

@arichardson arichardson left a comment

Choose a reason for hiding this comment

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

Clarifications on store looks good to me.

The non-leaf note was previously implicit, spelling it out makes sense.

@tariqkurd-repo tariqkurd-repo merged commit 19e943a into riscv:main Dec 12, 2024
3 checks passed
francislaus pushed a commit to francislaus/riscv-cheri that referenced this pull request Dec 12, 2024
Some minor clarification & formatting improvements in the PTE spec. I
can break these into separate PRs if you like.

---------

Co-authored-by: Tariq Kurd <[email protected]>
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.

5 participants