diff --git a/lib/optee/optee_utils.c b/lib/optee/optee_utils.c index ac51265..ecf7cc0 100644 --- a/lib/optee/optee_utils.c +++ b/lib/optee/optee_utils.c @@ -43,7 +43,7 @@ uint8_t arch; uint16_t flags; uint32_t nb_images; - optee_image_t optee_image[]; + optee_image_t optee_image_list[]; } optee_header_t; /******************************************************************************* @@ -51,11 +51,11 @@ * Return 1 if valid * Return 0 if invalid ******************************************************************************/ -static inline int tee_validate_header(optee_header_t *optee_header) +static inline int tee_validate_header(optee_header_t *header) { - if ((optee_header->magic == TEE_MAGIC_NUM_OPTEE) && - (optee_header->version == 2) && - (optee_header->nb_images <= OPTEE_MAX_IMAGE_NUM)) { + if ((header->magic == TEE_MAGIC_NUM_OPTEE) && + (header->version == 2) && + (header->nb_images <= OPTEE_MAX_IMAGE_NUM)) { return 1; } @@ -68,14 +68,14 @@ * Return 0 on success or a negative error code otherwise. ******************************************************************************/ static int parse_optee_image(image_info_t *image_info, - optee_image_t *optee_image) + optee_image_t *image) { uintptr_t init_load_addr, free_end, requested_end; size_t init_size; - init_load_addr = ((uint64_t)optee_image->load_addr_hi << 32) | - optee_image->load_addr_lo; - init_size = optee_image->size; + init_load_addr = ((uint64_t)image->load_addr_hi << 32) | + image->load_addr_lo; + init_size = image->size; /* * -1 indicates loader decided address; take our pre-mapped area @@ -133,21 +133,21 @@ image_info_t *paged_image_info) { - optee_header_t *optee_header; + optee_header_t *header; int num, ret; assert(header_ep); - optee_header = (optee_header_t *)header_ep->pc; - assert(optee_header); + header = (optee_header_t *)header_ep->pc; + assert(header); /* Print the OPTEE header information */ INFO("OPTEE ep=0x%x\n", (unsigned int)header_ep->pc); INFO("OPTEE header info:\n"); - INFO(" magic=0x%x\n", optee_header->magic); - INFO(" version=0x%x\n", optee_header->version); - INFO(" arch=0x%x\n", optee_header->arch); - INFO(" flags=0x%x\n", optee_header->flags); - INFO(" nb_images=0x%x\n", optee_header->nb_images); + INFO(" magic=0x%x\n", header->magic); + INFO(" version=0x%x\n", header->version); + INFO(" arch=0x%x\n", header->arch); + INFO(" flags=0x%x\n", header->flags); + INFO(" nb_images=0x%x\n", header->nb_images); /* * OPTEE image has 3 types: @@ -166,7 +166,7 @@ * pager and pageable. Remove skip attr for BL32_EXTRA1_IMAGE_ID * and BL32_EXTRA2_IMAGE_ID to load pager and paged bin. */ - if (!tee_validate_header(optee_header)) { + if (!tee_validate_header(header)) { INFO("Invalid OPTEE header, set legacy mode.\n"); #ifdef AARCH64 header_ep->args.arg0 = MODE_RW_64; @@ -177,15 +177,15 @@ } /* Parse OPTEE image */ - for (num = 0; num < optee_header->nb_images; num++) { - if (optee_header->optee_image[num].image_id == + for (num = 0; num < header->nb_images; num++) { + if (header->optee_image_list[num].image_id == OPTEE_PAGER_IMAGE_ID) { ret = parse_optee_image(pager_image_info, - &optee_header->optee_image[num]); - } else if (optee_header->optee_image[num].image_id == + &header->optee_image_list[num]); + } else if (header->optee_image_list[num].image_id == OPTEE_PAGED_IMAGE_ID) { ret = parse_optee_image(paged_image_info, - &optee_header->optee_image[num]); + &header->optee_image_list[num]); } else { ERROR("Parse optee image failed.\n"); return -1; @@ -211,7 +211,7 @@ header_ep->args.arg2 = paged_image_info->image_size; /* Set OPTEE runtime arch - aarch32/aarch64 */ - if (optee_header->arch == 0) { + if (header->arch == 0) { header_ep->args.arg0 = MODE_RW_32; } else { #ifdef AARCH64 diff --git a/services/spd/opteed/opteed_main.c b/services/spd/opteed/opteed_main.c index ac58e04..01ec2a2 100644 --- a/services/spd/opteed/opteed_main.c +++ b/services/spd/opteed/opteed_main.c @@ -34,7 +34,7 @@ * Address of the entrypoint vector table in OPTEE. It is * initialised once on the primary core after a cold boot. ******************************************************************************/ -optee_vectors_t *optee_vectors; +optee_vectors_t *optee_vector_table; /******************************************************************************* * Array to keep track of per-cpu OPTEE state @@ -71,7 +71,7 @@ optee_ctx = &opteed_sp_context[linear_id]; assert(&optee_ctx->cpu_ctx == cm_get_context(SECURE)); - cm_set_elr_el3(SECURE, (uint64_t)&optee_vectors->fiq_entry); + cm_set_elr_el3(SECURE, (uint64_t)&optee_vector_table->fiq_entry); cm_el1_sysregs_context_restore(SECURE); cm_set_next_eret_context(SECURE); @@ -236,10 +236,10 @@ */ if (GET_SMC_TYPE(smc_fid) == SMC_TYPE_FAST) { cm_set_elr_el3(SECURE, (uint64_t) - &optee_vectors->fast_smc_entry); + &optee_vector_table->fast_smc_entry); } else { cm_set_elr_el3(SECURE, (uint64_t) - &optee_vectors->yield_smc_entry); + &optee_vector_table->yield_smc_entry); } cm_el1_sysregs_context_restore(SECURE); @@ -279,10 +279,10 @@ * Stash the OPTEE entry points information. This is done * only once on the primary cpu */ - assert(optee_vectors == NULL); - optee_vectors = (optee_vectors_t *) x1; + assert(optee_vector_table == NULL); + optee_vector_table = (optee_vectors_t *) x1; - if (optee_vectors) { + if (optee_vector_table) { set_optee_pstate(optee_ctx->state, OPTEE_PSTATE_ON); /* diff --git a/services/spd/opteed/opteed_pm.c b/services/spd/opteed/opteed_pm.c index 7efc234..bdacf98 100644 --- a/services/spd/opteed/opteed_pm.c +++ b/services/spd/opteed/opteed_pm.c @@ -30,11 +30,11 @@ uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point and enter OPTEE */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->cpu_off_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->cpu_off_entry); rc = opteed_synchronous_sp_entry(optee_ctx); /* @@ -63,11 +63,11 @@ uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point and enter OPTEE */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->cpu_suspend_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->cpu_suspend_entry); rc = opteed_synchronous_sp_entry(optee_ctx); /* @@ -94,11 +94,11 @@ optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; entry_point_info_t optee_on_entrypoint; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_OFF); opteed_init_optee_ep_state(&optee_on_entrypoint, opteed_rw, - (uint64_t)&optee_vectors->cpu_on_entry, + (uint64_t)&optee_vector_table->cpu_on_entry, 0, 0, 0, optee_ctx); /* Initialise this cpu's secure context */ @@ -129,14 +129,14 @@ uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_SUSPEND); /* Program the entry point, max_off_pwrlvl and enter the SP */ write_ctx_reg(get_gpregs_ctx(&optee_ctx->cpu_ctx), CTX_GPREG_X0, max_off_pwrlvl); - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->cpu_resume_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->cpu_resume_entry); rc = opteed_synchronous_sp_entry(optee_ctx); /* @@ -168,11 +168,11 @@ uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->system_off_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->system_off_entry); /* Enter OPTEE. We do not care about the return value because we * must continue the shutdown anyway */ @@ -188,11 +188,11 @@ uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->system_reset_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->system_reset_entry); /* Enter OPTEE. We do not care about the return value because we * must continue the reset anyway */ diff --git a/services/spd/opteed/opteed_private.h b/services/spd/opteed/opteed_private.h index 6cda2c8..b77b6d3 100644 --- a/services/spd/opteed/opteed_private.h +++ b/services/spd/opteed/opteed_private.h @@ -154,7 +154,7 @@ extern optee_context_t opteed_sp_context[OPTEED_CORE_COUNT]; extern uint32_t opteed_rw; -extern struct optee_vectors *optee_vectors; +extern struct optee_vectors *optee_vector_table; #endif /*__ASSEMBLY__*/ #endif /* __OPTEED_PRIVATE_H__ */