• Home
  • Raw
  • Download

Lines Matching full:secure

9  * This is the Secure Payload Dispatcher (SPD). The dispatcher is meant to be a
10 * plug-in component to the Secure Monitor, registered as a runtime service. The
11 * SPD is expected to be a functional extension of the Secure Payload (SP) that
12 * executes in Secure EL1. The Secure Monitor will delegate all SMCs targeting
14 * handle the request locally or delegate it to the Secure Payload. It is also
67 /* Save the non-secure context before entering the OPTEE */ in opteed_sel1_interrupt_handler()
73 assert(&optee_ctx->cpu_ctx == cm_get_context(SECURE)); in opteed_sel1_interrupt_handler()
75 cm_set_elr_el3(SECURE, (uint64_t)&optee_vector_table->fiq_entry); in opteed_sel1_interrupt_handler()
76 cm_el1_sysregs_context_restore(SECURE); in opteed_sel1_interrupt_handler()
77 cm_set_next_eret_context(SECURE); in opteed_sel1_interrupt_handler()
83 * retrieve this address from ELR_EL3 as the secure context will in opteed_sel1_interrupt_handler()
105 * Get information about the Secure Payload (BL32) image. Its in opteed_setup()
109 optee_ep_info = bl31_plat_get_next_image_ep_info(SECURE); in opteed_setup()
149 * on the primary cpu after a cold boot. It assumes that a valid secure
151 * used. It also assumes that a valid non-secure context has been
153 * non-secure state. This function performs a synchronous entry into
167 optee_entry_point = bl31_plat_get_next_image_ep_info(SECURE); in opteed_init()
185 * range from the non-secure state as defined in the SMC Calling Convention
186 * Document. It is also responsible for communicating with the Secure
187 * payload to delegate work and return results back to the non-secure
211 * This is a fresh request from the non-secure client. in opteed_smc_handler()
213 * registers need to be preserved, save the non-secure in opteed_smc_handler()
214 * state and send the request to the secure payload. in opteed_smc_handler()
221 * We are done stashing the non-secure context. Ask the in opteed_smc_handler()
227 * operation type and parameters to the secure context in opteed_smc_handler()
228 * and jump to the fast smc entry point in the secure in opteed_smc_handler()
232 assert(&optee_ctx->cpu_ctx == cm_get_context(SECURE)); in opteed_smc_handler()
239 cm_set_elr_el3(SECURE, (uint64_t) in opteed_smc_handler()
242 cm_set_elr_el3(SECURE, (uint64_t) in opteed_smc_handler()
246 cm_el1_sysregs_context_restore(SECURE); in opteed_smc_handler()
247 cm_set_next_eret_context(SECURE); in opteed_smc_handler()
298 * non-secure state. in opteed_smc_handler()
358 * This is the result from the secure client of an in opteed_smc_handler()
360 * into the non-secure context, save the secure state in opteed_smc_handler()
361 * and return to the non-secure state. in opteed_smc_handler()
363 assert(handle == cm_get_context(SECURE)); in opteed_smc_handler()
364 cm_el1_sysregs_context_save(SECURE); in opteed_smc_handler()
366 /* Get a reference to the non-secure context */ in opteed_smc_handler()
370 /* Restore non-secure state */ in opteed_smc_handler()
381 /* Get a reference to the non-secure context */ in opteed_smc_handler()
386 * Restore non-secure state. There is no need to save the in opteed_smc_handler()
387 * secure system register context since OPTEE was supposed in opteed_smc_handler()