blob: b220c91034d33433332a8127e01445af15cb12f0 [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 *
Balint Dobszay4f9d8e32023-04-13 13:55:08 +020033 * @param boot_info The boot info
Imre Kis9fcf8412020-11-23 03:15:45 +010034 */
Balint Dobszay4f9d8e32023-04-13 13:55:08 +020035void __noreturn sp_main(union ffa_boot_info *boot_info);
Imre Kis9fcf8412020-11-23 03:15:45 +010036
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_ */