summaryrefslogtreecommitdiff
path: root/services/std_svc/spmd/spmd_private.h
diff options
context:
space:
mode:
authorOlivier Deprez <olivier.deprez@arm.com>2020-04-16 17:54:27 +0200
committerMax Shvetsov <maksims.svecovs@arm.com>2020-08-20 18:06:06 +0100
commitf0d743dbcd43c4bc5972210a117c5c6d2a4b6d1b (patch)
tree7d71b18ef5f4cd97e6a8d1205084084910b51253 /services/std_svc/spmd/spmd_private.h
parentc2901419b54ae5334b666bc8f4fc35c36246daac (diff)
downloadarm-trusted-firmware-f0d743dbcd43c4bc5972210a117c5c6d2a4b6d1b.tar.gz
SPMD: handle SPMC message to register secondary core entry point
Upon booting, the SPMC running on the primary core shall register the secondary core entry points to which a given secondary core being woken up shall jump to into the SPMC . The current implementation assumes the SPMC calls a registering service implemented in the SPMD for each core identified by its MPIDR. This can typically happen in a simple loop implemented in the early SPMC initialization routines by passing each core identifier associated with an entry point address and context information. This service is implemented on top of a more generic SPMC<=>SPMD interface using direct request/response message passing as defined by the FF-A specification. Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com> Change-Id: I1f70163b6b5cee0880bd2004e1fec41e3780ba35
Diffstat (limited to 'services/std_svc/spmd/spmd_private.h')
-rw-r--r--services/std_svc/spmd/spmd_private.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/std_svc/spmd/spmd_private.h b/services/std_svc/spmd/spmd_private.h
index 7d5f47662..0d78f53a4 100644
--- a/services/std_svc/spmd/spmd_private.h
+++ b/services/std_svc/spmd/spmd_private.h
@@ -81,6 +81,10 @@ entry_point_info_t *spmd_spmc_ep_info_get(void);
/* SPMC context on current CPU get helper */
spmd_spm_core_context_t *spmd_get_context(void);
+int32_t spmd_pm_secondary_core_set_ep(uint64_t mpidr, uintptr_t entry_point,
+ uint64_t context);
+bool spmd_check_address_in_binary_image(uint64_t address);
+
#endif /* __ASSEMBLER__ */
#endif /* SPMD_PRIVATE_H */