Home
last modified time | relevance | path

Searched refs:tsp_ctx (Results 1 – 4 of 4) sorted by relevance

/trusted-firmware-a-3.4.0/services/spd/tspd/
Dtspd_common.c27 tsp_context_t *tsp_ctx) in tspd_init_tsp_ep_state() argument
32 assert(tsp_ctx); in tspd_init_tsp_ep_state()
43 tsp_ctx->mpidr = read_mpidr_el1(); in tspd_init_tsp_ep_state()
44 tsp_ctx->state = 0; in tspd_init_tsp_ep_state()
45 set_tsp_pstate(tsp_ctx->state, TSP_PSTATE_OFF); in tspd_init_tsp_ep_state()
46 clr_yield_smc_active_flag(tsp_ctx->state); in tspd_init_tsp_ep_state()
48 cm_set_context(&tsp_ctx->cpu_ctx, SECURE); in tspd_init_tsp_ep_state()
71 uint64_t tspd_synchronous_sp_entry(tsp_context_t *tsp_ctx) in tspd_synchronous_sp_entry() argument
75 assert(tsp_ctx != NULL); in tspd_synchronous_sp_entry()
76 assert(tsp_ctx->c_rt_ctx == 0); in tspd_synchronous_sp_entry()
[all …]
Dtspd_pm.c34 tsp_context_t *tsp_ctx = &tspd_sp_context[linear_id]; in tspd_cpu_off_handler() local
37 assert(get_tsp_pstate(tsp_ctx->state) == TSP_PSTATE_ON); in tspd_cpu_off_handler()
43 tspd_abort_preempted_smc(tsp_ctx); in tspd_cpu_off_handler()
47 rc = tspd_synchronous_sp_entry(tsp_ctx); in tspd_cpu_off_handler()
60 set_tsp_pstate(tsp_ctx->state, TSP_PSTATE_OFF); in tspd_cpu_off_handler()
73 tsp_context_t *tsp_ctx = &tspd_sp_context[linear_id]; in tspd_cpu_suspend_handler() local
76 assert(get_tsp_pstate(tsp_ctx->state) == TSP_PSTATE_ON); in tspd_cpu_suspend_handler()
82 tspd_abort_preempted_smc(tsp_ctx); in tspd_cpu_suspend_handler()
86 rc = tspd_synchronous_sp_entry(tsp_ctx); in tspd_cpu_suspend_handler()
96 set_tsp_pstate(tsp_ctx->state, TSP_PSTATE_SUSPEND); in tspd_cpu_suspend_handler()
[all …]
Dtspd_main.c114 tsp_context_t *tsp_ctx; in tspd_sel1_interrupt_handler() local
118 tsp_ctx = &tspd_sp_context[linear_id]; in tspd_sel1_interrupt_handler()
158 tsp_ctx->preempted_by_sel1_intr = false; in tspd_sel1_interrupt_handler()
167 tsp_ctx->preempted_by_sel1_intr = true; in tspd_sel1_interrupt_handler()
180 assert(&tsp_ctx->cpu_ctx == cm_get_context(SECURE)); in tspd_sel1_interrupt_handler()
192 if (get_yield_smc_active_flag(tsp_ctx->state)) { in tspd_sel1_interrupt_handler()
193 tsp_ctx->saved_spsr_el3 = (uint32_t)SMC_GET_EL3(&tsp_ctx->cpu_ctx, in tspd_sel1_interrupt_handler()
195 tsp_ctx->saved_elr_el3 = SMC_GET_EL3(&tsp_ctx->cpu_ctx, in tspd_sel1_interrupt_handler()
198 memcpy(&tsp_ctx->sp_ctx, &tsp_ctx->cpu_ctx, TSPD_SP_CTX_SIZE); in tspd_sel1_interrupt_handler()
215 SMC_RET2(&tsp_ctx->cpu_ctx, TSP_HANDLE_SEL1_INTR_AND_RETURN, read_elr_el3()); in tspd_sel1_interrupt_handler()
[all …]
Dtspd_private.h219 uint64_t tspd_synchronous_sp_entry(tsp_context_t *tsp_ctx);
220 void __dead2 tspd_synchronous_sp_exit(tsp_context_t *tsp_ctx, uint64_t ret);
224 tsp_context_t *tsp_ctx);
225 int tspd_abort_preempted_smc(tsp_context_t *tsp_ctx);