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