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 Zicfilp extension #361

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

Commits on Jun 22, 2024

  1. Update CSRs infrastructure

    - Add machine security configuration register - mseccfg
    - Legalize menvcfg and senvcfg separately. Some fields of senvcfg are modulated by menvcfg.
    - Make mstatush writeable and add a legalizer function for it.
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    24851e5 View commit details
    Browse the repository at this point in the history
  2. Add fields introduced by Zicfilp in existing CSRs

    - mstatus : MPELP, SPELP
    - menvcfg : LPE
    - senvcfg : LPE
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    15be445 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    12b25e3 View commit details
    Browse the repository at this point in the history
  4. Expected Landing Pad (ELP) state management

    - JALR updates ELP to LP expected on indirect call/jump
    - Traps preserve ELP state in mstatus.xPELP on trap delivery priv x
    - xRET restores ELP from mstatus.xPELP
    - If instruction fetched not LPAD when ELP is LP_EXPECTED cause SW check fault
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    46abcd7 View commit details
    Browse the repository at this point in the history
  5. Add Zicfilp register state and flows

    - Add elp state register and its initialization
    - xLPE to track if landing pads enabled at priv x
    - Functions that implement ELP state management
    - LPAD instruction
    ved-rivos committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    1056a62 View commit details
    Browse the repository at this point in the history