summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAchin Gupta <achin.gupta@arm.com>2019-10-28 08:52:45 +0000
committerMarc Bonnici <marc.bonnici@arm.com>2020-06-01 15:25:18 +0100
commitb3622bf4d5b0d9b07ca67b7554f01514789a12a4 (patch)
treeb928415deb9419ae085de6e0cfda56e8c23572b4
parent8639e4620165b1a424f09a7ca8a09c16134fcfec (diff)
downloadarm-trusted-firmware-b3622bf4d5b0d9b07ca67b7554f01514789a12a4.tar.gz
SPMD: [EXP] Export entry point info as a global variable
This is a temporary solution, all secure world PSCI calls are meant to be handled within S-EL2 which means the PSCI SPD callbacks need to be routed to S-EL2 appropriately. This patch converts the local entry_point_info structure used on the boot cpu to a global as it will be used to initialise the SPMC context on secondary CPUs in future patches. Change-Id: Icb92a2403d746cf120f05708bab56d3ffb3f7e05 Signed-off-by: Achin Gupta <achin.gupta@arm.com>
-rw-r--r--services/std_svc/spmd/spmd_main.c9
-rw-r--r--services/std_svc/spmd/spmd_private.h3
2 files changed, 12 insertions, 0 deletions
diff --git a/services/std_svc/spmd/spmd_main.c b/services/std_svc/spmd/spmd_main.c
index 501782ffb..c4ceb32c8 100644
--- a/services/std_svc/spmd/spmd_main.c
+++ b/services/std_svc/spmd/spmd_main.c
@@ -42,6 +42,15 @@ static spmc_manifest_attribute_t spmc_attrs;
static entry_point_info_t *spmc_ep_info;
/*******************************************************************************
+ * SPM Core entry point information get helper.
+ ******************************************************************************/
+entry_point_info_t *spmd_spmc_ep_info_get(void)
+
+{
+ return spmc_ep_info;
+}
+
+/*******************************************************************************
* SPM Core context on current CPU get helper.
******************************************************************************/
spmd_spm_core_context_t *spmd_get_context(void)
diff --git a/services/std_svc/spmd/spmd_private.h b/services/std_svc/spmd/spmd_private.h
index 232031bb3..d5f66dde6 100644
--- a/services/std_svc/spmd/spmd_private.h
+++ b/services/std_svc/spmd/spmd_private.h
@@ -68,6 +68,9 @@ void __dead2 spmd_spm_core_exit(uint64_t c_rt_ctx, uint64_t ret);
/* SPMC context on current CPU get helper */
spmd_spm_core_context_t *spmd_get_context(void);
+/* SPMC entry point information helper */
+entry_point_info_t *spmd_spmc_ep_info_get(void);
+
#endif /* __ASSEMBLER__ */
#endif /* SPMD_PRIVATE_H */