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

Indirect Sentries #51

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Indirect Sentries #51

wants to merge 10 commits into from

Commits on Nov 2, 2021

  1. Configuration menu
    Copy the full SHA
    e18b411 View commit details
    Browse the repository at this point in the history
  2. Add a fast-cap-dirty PTE behavior

    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 <[email protected]>
    nwf-msr and jrtc27 committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    b7e6675 View commit details
    Browse the repository at this point in the history
  3. Refactor checkPTEPermission

    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 <[email protected]>
    nwf-msr and jrtc27 committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    15230ad View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7a8e0ad View commit details
    Browse the repository at this point in the history
  5. Introduce load-capability generation traps

    Co-authored-by: Jessica Clarke <[email protected]>
    nwf-msr and jrtc27 committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    4276a5e View commit details
    Browse the repository at this point in the history
  6. CBuildCap: reject sentries without permit_execute

    Refactor the test for ambient sealing out to its own function, as we'll
    want to extend it more generally with indirect sentries.  Allow this
    function to (request to) raise CapEx exceptions as well and have it flag
    a PermitExecuteViolation for sentries without permit_execute.
    
    Co-Authored-By: Alexander Richardson <[email protected]>
    nwf-msr and arichardson committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    62766ec View commit details
    Browse the repository at this point in the history
  7. Split handle_load_cap_via_cap into worker/wrapper

    Common up with handle_loadres_cap_via_cap.
    nwf-msr committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    9470d96 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    72039b9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    66646f2 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b7976c4 View commit details
    Browse the repository at this point in the history