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

[SME] Add ZA-compatible interface and routines to save/restore SME state #264

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Commits on Jun 14, 2024

  1. [SME] Add ZA-compatible interface and routines to save/restore SME st…

    …ate.
    
    This implements requests to add a new "ZA-compatible" interface which
    can be called with ZA state being either 'off', 'active' or 'dormant',
    and which can preserve any and all state enabled under PSTATE.ZA.
    sdesmalen-arm committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    aeccbc9 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. Address review comments.

    * Renamed `compatible ZA` -> `agnostic ZA`
    
    * Changed __arm_sme_save/restore such that the save routine should
      record whether ZA or ZT0 is saved and such that the restore routine
      should check whether ZA or ZT0 was saved. This removes the
      (previously) implicit assumption in `__arm_sme-save` that PSTATE.ZA
      must be 1 if PTR is not nullptr.
    
    * ZA is now always saved/restored using the lazy-save mechanism.
    
    * Changed __arm_sme_save/restore to have a custom ZA interface instead
      of 'agnostic-ZA' which was incorrect.
    sdesmalen-arm committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    6f1bba8 View commit details
    Browse the repository at this point in the history
  2. Remove redundant change

    sdesmalen-arm committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    34eeecc View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2024

  1. Removed OPTIONS argument from the subroutines.

    As @rsandifo-arm explained, the same routines cannot be used for
    general use of saving/restoring of state enabled by PSTATE.ZA
    because of the different expectations on the ZA interface
    when partially saving/restoring state enabled by PSTATE.ZA.
    
    Removing the option, drastically simplifies the logic. Note that
    I have removed the two booleans (internal to the save/restore
    routines) that distinguish between having saved 'ZA' and 'ZT0',
    and replaced that with a single 'VALID' bit, because I think we
    can assume that the save/restore routines are called by PEs that
    have the same SME state.
    sdesmalen-arm committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    35aae18 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. Address review comments.

    This changes the 'dormant on entry' case to be 'no change'.
    sdesmalen-arm committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    447378a View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2024

  1. Configuration menu
    Copy the full SHA
    82c84bd View commit details
    Browse the repository at this point in the history