diff options
Diffstat (limited to 'services/spd/tspd/tspd_main.c')
-rw-r--r-- | services/spd/tspd/tspd_main.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/services/spd/tspd/tspd_main.c b/services/spd/tspd/tspd_main.c index 35bc6e2e..f1dbe68b 100644 --- a/services/spd/tspd/tspd_main.c +++ b/services/spd/tspd/tspd_main.c @@ -122,13 +122,9 @@ static uint64_t tspd_sel1_interrupt_handler(uint32_t id, CTX_ELR_EL3); } - SMC_SET_EL3(&tsp_ctx->cpu_ctx, - CTX_SPSR_EL3, - SPSR_64(MODE_EL1, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS)); - SMC_SET_EL3(&tsp_ctx->cpu_ctx, - CTX_ELR_EL3, - (uint64_t) &tsp_vectors->fiq_entry); cm_el1_sysregs_context_restore(SECURE); + cm_set_elr_spsr_el3(SECURE, (uint64_t) &tsp_vectors->fiq_entry, + SPSR_64(MODE_EL1, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS)); cm_set_next_eret_context(SECURE); /* |