diff options
Diffstat (limited to 'bl31')
-rw-r--r-- | bl31/aarch64/ea_delegate.S | 8 | ||||
-rw-r--r-- | bl31/aarch64/runtime_exceptions.S | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/bl31/aarch64/ea_delegate.S b/bl31/aarch64/ea_delegate.S index d5ecfc50..40c3191a 100644 --- a/bl31/aarch64/ea_delegate.S +++ b/bl31/aarch64/ea_delegate.S @@ -68,9 +68,13 @@ func enter_lower_el_sync_ea /* Save GP registers */ bl save_gp_registers + /* Save ARMv8.3-PAuth registers and load firmware key */ #if CTX_INCLUDE_PAUTH_REGS bl pauth_context_save #endif +#if ENABLE_PAUTH + bl pauth_load_bl_apiakey +#endif /* Setup exception class and syndrome arguments for platform handler */ mov x0, #ERROR_EA_SYNC @@ -102,9 +106,13 @@ func enter_lower_el_async_ea /* Save GP registers */ bl save_gp_registers + /* Save ARMv8.3-PAuth registers and load firmware key */ #if CTX_INCLUDE_PAUTH_REGS bl pauth_context_save #endif +#if ENABLE_PAUTH + bl pauth_load_bl_apiakey +#endif /* Setup exception class and syndrome arguments for platform handler */ mov x0, #ERROR_EA_ASYNC diff --git a/bl31/aarch64/runtime_exceptions.S b/bl31/aarch64/runtime_exceptions.S index cea7a8a1..aa9d0079 100644 --- a/bl31/aarch64/runtime_exceptions.S +++ b/bl31/aarch64/runtime_exceptions.S @@ -123,9 +123,13 @@ bl save_gp_registers + /* Save ARMv8.3-PAuth registers and load firmware key */ #if CTX_INCLUDE_PAUTH_REGS bl pauth_context_save #endif +#if ENABLE_PAUTH + bl pauth_load_bl_apiakey +#endif /* Save the EL3 system registers needed to return from this exception */ mrs x0, spsr_el3 @@ -331,9 +335,13 @@ smc_handler64: /* Save general purpose registers */ bl save_gp_registers + /* Save ARMv8.3-PAuth registers and load firmware key */ #if CTX_INCLUDE_PAUTH_REGS bl pauth_context_save #endif +#if ENABLE_PAUTH + bl pauth_load_bl_apiakey +#endif /* * Populate the parameters for the SMC handler. |