Mistake on this page?
Report an issue in GitHub or email us
TARGET_TFM_LATEST/include/tfm_ns_interface.h
1 /*
2  * Copyright (c) 2017-2021, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 #ifndef __TFM_NS_INTERFACE_H__
8 #define __TFM_NS_INTERFACE_H__
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #include <stdint.h>
15 #include "tfm_api.h"
16 
17 typedef int32_t (*veneer_fn) (uint32_t arg0, uint32_t arg1,
18  uint32_t arg2, uint32_t arg3);
19 
20 /**
21  * \brief NS interface, veneer function dispatcher
22  *
23  * \details This function implements the dispatching mechanism for the
24  * desired veneer function, to be called with the parameters
25  * described from arg0 to arg3.
26  *
27  * \param[in] fn Function pointer to the veneer function desired
28  * \param[in] arg0 Argument 0
29  * \param[in] arg1 Argument 1
30  * \param[in] arg2 Argument 2
31  * \param[in] arg3 Argument 3
32  *
33  * \return Returns the same return value of the requested veneer function
34  *
35  * \note This API must ensure the return value is from the veneer function.
36  * Other unrecoverable errors must be considered as fatal error and should
37  * not return.
38  */
39 int32_t tfm_ns_interface_dispatch(veneer_fn fn,
40  uint32_t arg0, uint32_t arg1,
41  uint32_t arg2, uint32_t arg3);
42 
43 /**
44  * \brief NS interface, Initialise the NS interface
45  *
46  * \details This function needs to be called from the NS world to
47  * properly initialise the NS interface towards TF-M. This
48  * function will initialise all the objects required for
49  * runtime dispatching of TF-M requests to services
50  *
51  * \return A value according to \ref enum tfm_status_e
52  */
53 enum tfm_status_e tfm_ns_interface_init(void);
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 #endif /* __TFM_NS_INTERFACE_H__ */
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.