Commit 66306814 authored by Olivier Deprez's avatar Olivier Deprez Committed by TrustedFirmware Code Review
Browse files

Merge "spmd: ensure SIMD context is saved/restored on SPMC entry/exit" into integration

parents 30513571 bedb13f5
...@@ -109,6 +109,7 @@ uint64_t spmd_spm_core_sync_entry(spmd_spm_core_context_t *spmc_ctx) ...@@ -109,6 +109,7 @@ uint64_t spmd_spm_core_sync_entry(spmd_spm_core_context_t *spmc_ctx)
/* Restore the context assigned above */ /* Restore the context assigned above */
cm_el1_sysregs_context_restore(SECURE); cm_el1_sysregs_context_restore(SECURE);
#if SPMD_SPM_AT_SEL2 #if SPMD_SPM_AT_SEL2
cm_el2_sysregs_context_restore(SECURE); cm_el2_sysregs_context_restore(SECURE);
#endif #endif
...@@ -348,12 +349,18 @@ static uint64_t spmd_smc_forward(uint32_t smc_fid, ...@@ -348,12 +349,18 @@ static uint64_t spmd_smc_forward(uint32_t smc_fid,
/* Save incoming security state */ /* Save incoming security state */
cm_el1_sysregs_context_save(secure_state_in); cm_el1_sysregs_context_save(secure_state_in);
#if CTX_INCLUDE_FPREGS
fpregs_context_save(get_fpregs_ctx(cm_get_context(secure_state_in)));
#endif
#if SPMD_SPM_AT_SEL2 #if SPMD_SPM_AT_SEL2
cm_el2_sysregs_context_save(secure_state_in); cm_el2_sysregs_context_save(secure_state_in);
#endif #endif
/* Restore outgoing security state */ /* Restore outgoing security state */
cm_el1_sysregs_context_restore(secure_state_out); cm_el1_sysregs_context_restore(secure_state_out);
#if CTX_INCLUDE_FPREGS
fpregs_context_restore(get_fpregs_ctx(cm_get_context(secure_state_out)));
#endif
#if SPMD_SPM_AT_SEL2 #if SPMD_SPM_AT_SEL2
cm_el2_sysregs_context_restore(secure_state_out); cm_el2_sysregs_context_restore(secure_state_out);
#endif #endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment