blob: 3c432bb648c7370855077f8a3fa1174172fbb948 [file] [log] [blame]
Imre Kis9fcf8412020-11-23 03:15:45 +01001/* SPDX-License-Identifier: BSD-3-Clause */
2/*
Imre Kisaaa3bed2020-11-30 20:46:53 +01003 * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
Imre Kis9fcf8412020-11-23 03:15:45 +01004 */
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
Imre Kisaaa3bed2020-11-30 20:46:53 +010013#ifdef __cplusplus
14extern "C" {
15#endif
16
Imre Kis9fcf8412020-11-23 03:15:45 +010017/**
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 */
27void 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 init_info The boot info
34 */
35void __noreturn sp_main(struct ffa_init_info *init_info);
36
Imre Kisaaa3bed2020-11-30 20:46:53 +010037#ifdef __cplusplus
38}
39#endif
40
Imre Kis9fcf8412020-11-23 03:15:45 +010041#endif /* LIBSP_INCLUDE_SP_API_H_ */