-
Notifications
You must be signed in to change notification settings - Fork 18
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
Load/store as user #54
Open
nwf
wants to merge
11
commits into
CTSRD-CHERI:master
Choose a base branch
from
nwf:202110-ls-as-user
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nwf
force-pushed
the
202110-ls-as-user
branch
from
October 27, 2021 15:23
673a931
to
651c725
Compare
The cap-store instructions now look at the data being stored to decide whether they issue Write(Cap) or Write(Data) requests on "the bus". This allows the PTW logic (and update_PTE_Bits) in particular to not fast-cap-dirty a page that's being targeted by the store of an untagged capability. This is not, however, viable for AMOCAS and so additional changes may be required if we are to avoid considering AMOCAS as always capability-dirtying. Co-authored-by: Jessica Clarke <jrtc27@jrtc27.com>
Use Either-monadic style Eliminate ext_ptw_sc / PTW_SC_* as we now simply test the error cases in priority order, so there's no need to explicitly pass this information forward in checkPTEPermission. ext_ptw_lc / PTW_LC_* persist as the extended PTW information is analysed by instructions. Co-authored-by: Jessica Clarke <jrtc27@jrtc27.com>
Split uccsr out to its own thing; remove mccsr and have accesses alias sccsr.
Co-authored-by: Jessica Clarke <jrtc27@jrtc27.com>
Common up with handle_loadres_cap_via_cap.
nwf
force-pushed
the
202110-ls-as-user
branch
from
October 27, 2021 16:33
651c725
to
8a61c12
Compare
PeterRugg
reviewed
Oct 29, 2021
PeterRugg
reviewed
Oct 29, 2021
PeterRugg
reviewed
Oct 29, 2021
PeterRugg
reviewed
Oct 29, 2021
Looks good. It's a bit of a shame that so much documentation needs to be duplicated, and that there isn't encoding space to add an "execute as user" bit to the existing instructions, like the unsigned variants of the instructions. |
@PeterRugg Thanks for looking; I've responded in a |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sits on top of the CLG and isentry PRs because orthogonality is hard. The last two commits are the salient ones: some preparatory refactoring and then the actual instruction bodies.