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

Add Zicfiss extension #377

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

Add Zicfiss extension #377

wants to merge 10 commits into from

Commits on Jun 22, 2024

  1. CSRs infra. update - prep for Zicfiss

    - Separate legalizers for menvcfg and senvcfg
    - Add a getter for senvcfg as fields in senvcfg depend on menvcfg
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    f03900f View commit details
    Browse the repository at this point in the history
  2. Add Zimop and Zcmop extension

    Zicfiss instructions use codepoints defined by Zimop/Zcmop extension.
    Add the baseline Zimop/Zcmop as preparation to be extended by Zicfiss.
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    8390b75 View commit details
    Browse the repository at this point in the history
  3. Add CSR and CSR fields introduced by Zicfiss

    - SSE field in menvcfg
    - SSE field in senvcfg
    - New CSR ssp
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    a918a05 View commit details
    Browse the repository at this point in the history
  4. Add software check exception

    - Zicfiss instructions can generate software check exceptions
      with xtval set to SHADOW_STACK_FAULT.
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    b854aac View commit details
    Browse the repository at this point in the history
  5. Add plumbing for PTEs to cause access fault

    With Zicfiss, PTE based checks may cause a page-fault or an access
    fault. Extend the PTE permission checks plumbing to be able to signal
    both.
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    51756e1 View commit details
    Browse the repository at this point in the history
  6. Add SS page type and SS access types

    - SS pages are encoded in pte as XWR=010b.
    - Add rules for access to such pages by non-SS load/store/AMO and inst. fetch.
    - Add rules for access to such pages by SS load/store/AMO.
    - SS access not allowed in Svbare. When virtual memory system is not active,
      all shadow stack accesses cause an access violation.
    - Add rules for PMP access checks by shadow stack accesses
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    601fd3c View commit details
    Browse the repository at this point in the history
  7. Update Makefile

    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    7e9c7bf View commit details
    Browse the repository at this point in the history
  8. Add extension hooks to zimop and zcmop

    - Some zimop and zcmop codepoints may be used by extensions such as Zicfiss.
      Add generic infrastructure to support this.
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    725c286 View commit details
    Browse the repository at this point in the history
  9. Add Zicfiss instructions

    - Add sspush/sspopchk/ssrdp/ssamoswap
    - Add c_sspush/c_sspopchk
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    bb9e337 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1615063 View commit details
    Browse the repository at this point in the history