• Antonio Nino Diaz's avatar
    Add ARMv8.3-PAuth registers to CPU context · 5283962e
    Antonio Nino Diaz authored
    
    
    ARMv8.3-PAuth adds functionality that supports address authentication of
    the contents of a register before that register is used as the target of
    an indirect branch, or as a load.
    
    This feature is supported only in AArch64 state.
    
    This feature is mandatory in ARMv8.3 implementations.
    
    This feature adds several registers to EL1. A new option called
    CTX_INCLUDE_PAUTH_REGS has been added to select if the TF needs to save
    them during Non-secure <-> Secure world switches. This option must be
    enabled if the hardware has the registers or the values will be leaked
    during world switches.
    
    To prevent leaks, this patch also disables pointer authentication in the
    Secure world if CTX_INCLUDE_PAUTH_REGS is 0. Any attempt to use it will
    be trapped in EL3.
    
    Change-Id: I27beba9907b9a86c6df1d0c5bf6180c972830855
    Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
    5283962e
arch.h 26.8 KB