1 /* 2 * Copyright (c) 2019-2021, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #ifndef __TFM_MULTI_CORE_API__ 9 #define __TFM_MULTI_CORE_API__ 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 #include <stdint.h> 16 17 /** 18 * \brief Called on the non-secure CPU. 19 * Flags that the non-secure side has completed its initialization. 20 * Waits, if necessary, for the secure CPU to flag that it has completed 21 * its initialization. 22 * 23 * \return Return 0 if succeeds. 24 * \return Otherwise, return specific error code. 25 */ 26 int32_t tfm_ns_wait_for_s_cpu_ready(void); 27 28 /** 29 * \brief Synchronisation with secure CPU, platform-specific implementation. 30 * Flags that the non-secure side has completed its initialization. 31 * Waits, if necessary, for the secure CPU to flag that it has completed 32 * its initialization. 33 * 34 * \retval Return 0 if succeeds. 35 * \retval Otherwise, return specific error code. 36 */ 37 int32_t tfm_platform_ns_wait_for_s_cpu_ready(void); 38 39 #ifdef __cplusplus 40 } 41 #endif 42 43 #endif /* __TFM_MULTI_CORE_API__ */ 44