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