diff options
author | Olivier Deprez <olivier.deprez@arm.com> | 2020-04-16 17:54:27 +0200 |
---|---|---|
committer | Max Shvetsov <maksims.svecovs@arm.com> | 2020-08-20 18:06:06 +0100 |
commit | f0d743dbcd43c4bc5972210a117c5c6d2a4b6d1b (patch) | |
tree | 7d71b18ef5f4cd97e6a8d1205084084910b51253 /services/std_svc/spmd/spmd_private.h | |
parent | c2901419b54ae5334b666bc8f4fc35c36246daac (diff) | |
download | arm-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.h | 4 |
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 */ |