-
Notifications
You must be signed in to change notification settings - Fork 32
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
representable range description, and some other minor clarifications #22
Conversation
src/cap-description.adoc
Outdated
in the expression above. If the capability address changes causing that address bit | ||
to change, then the representable range is violated and so the tag will be cleared | ||
by an instruction such as <<CINCOFFSET>>. This is represented by a range | ||
of `s=2^E+MW^` in xref:cap_bounds_map[xrefstyle=short]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tariqkurd-repo : Isn't this similar to the description here?
NOTE: The encoding of the bounds depends upon the leading 1 of the address
which is used to determine the exponent. If the leading 1 of the address moves
then the bounds will need to be recalculated. Instructions like <<CINCOFFSET>>
and <<CSETADDR>> update the address field but do not recalculate the bounds.
Therefore, if the leading 1 moves relative to when the bounds were calculated
then the tag is cleared on the result as the encoding has been invalidated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes - but actually that description is inaccurate which was my misunderstanding - the new description is accurate. I'll resolve the differences and push more commits.
also autofix of existing files fixes riscv#22 Signed-off-by: Kevin Broch <[email protected]>
Add note clarifying how the representable region is defined, and some other minor clarifications