1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
4  */
5 
6 #ifndef LIBSP_INCLUDE_SP_API_H_
7 #define LIBSP_INCLUDE_SP_API_H_
8 
9 #include <stdint.h>    // for uint32_t
10 #include "compiler.h"  // for __noreturn
11 #include "ffa_api.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /**
18  * Interface for the SP implementation
19  */
20 
21 /**
22  * @brief      Interrupt handler of the SP. It is called by the implementation
23  *             of ffa_interrupt_handler. SPs must implement this function.
24  *
25  * @param[in]  interrupt_id  The interrupt identifier
26  */
27 void sp_interrupt_handler(uint32_t interrupt_id);
28 
29 /**
30  * @brief      Entry point of the SP's application code. SPs must implement this
31  *             function.
32  *
33  * @param      boot_info  The boot info
34  */
35 void __noreturn sp_main(union ffa_boot_info *boot_info);
36 
37 #ifdef __cplusplus
38 }
39 #endif
40 
41 #endif /* LIBSP_INCLUDE_SP_API_H_ */
42