xref: /optee_os/lib/libutee/tee_api_private.h (revision 1bb929836182ecb96d2d9d268daa807c67596396)
1*1bb92983SJerome Forissier /* SPDX-License-Identifier: BSD-2-Clause */
2e86f1266SJens Wiklander /*
3e86f1266SJens Wiklander  * Copyright (c) 2015, Linaro Limited
4e86f1266SJens Wiklander  * All rights reserved.
5e86f1266SJens Wiklander  *
6e86f1266SJens Wiklander  * Redistribution and use in source and binary forms, with or without
7e86f1266SJens Wiklander  * modification, are permitted provided that the following conditions are met:
8e86f1266SJens Wiklander  *
9e86f1266SJens Wiklander  * 1. Redistributions of source code must retain the above copyright notice,
10e86f1266SJens Wiklander  * this list of conditions and the following disclaimer.
11e86f1266SJens Wiklander  *
12e86f1266SJens Wiklander  * 2. Redistributions in binary form must reproduce the above copyright notice,
13e86f1266SJens Wiklander  * this list of conditions and the following disclaimer in the documentation
14e86f1266SJens Wiklander  * and/or other materials provided with the distribution.
15e86f1266SJens Wiklander  *
16e86f1266SJens Wiklander  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17e86f1266SJens Wiklander  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18e86f1266SJens Wiklander  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19e86f1266SJens Wiklander  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20e86f1266SJens Wiklander  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21e86f1266SJens Wiklander  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22e86f1266SJens Wiklander  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23e86f1266SJens Wiklander  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24e86f1266SJens Wiklander  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25e86f1266SJens Wiklander  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26e86f1266SJens Wiklander  * POSSIBILITY OF SUCH DAMAGE.
27e86f1266SJens Wiklander  */
28e86f1266SJens Wiklander #ifndef TEE_API_PRIVATE
29e86f1266SJens Wiklander #define TEE_API_PRIVATE
30e86f1266SJens Wiklander 
31e86f1266SJens Wiklander #include <tee_api_types.h>
32e86f1266SJens Wiklander #include <utee_types.h>
33e86f1266SJens Wiklander 
34e86f1266SJens Wiklander 
35e86f1266SJens Wiklander void __utee_from_attr(struct utee_attribute *ua, const TEE_Attribute *attrs,
36e86f1266SJens Wiklander 			uint32_t attr_count);
37e86f1266SJens Wiklander 
38e86f1266SJens Wiklander void __utee_from_param(struct utee_params *up, uint32_t param_types,
39e86f1266SJens Wiklander 			const TEE_Param params[TEE_NUM_PARAMS]);
40e86f1266SJens Wiklander 
41e86f1266SJens Wiklander void __utee_to_param(TEE_Param params[TEE_NUM_PARAMS],
42e86f1266SJens Wiklander 			uint32_t *param_types, const struct utee_params *up);
43e86f1266SJens Wiklander 
442f04385cSJens Wiklander void __utee_entry(unsigned long func, unsigned long session_id,
452f04385cSJens Wiklander 			struct utee_params *up, unsigned long cmd_id);
46e86f1266SJens Wiklander 
47e86f1266SJens Wiklander 
48883c4be3SJerome Forissier #if defined(CFG_TA_GPROF_SUPPORT)
49883c4be3SJerome Forissier void __utee_gprof_init(void);
50883c4be3SJerome Forissier void __utee_gprof_fini(void);
51883c4be3SJerome Forissier #else
52883c4be3SJerome Forissier static inline void __utee_gprof_init(void) {}
53883c4be3SJerome Forissier static inline void __utee_gprof_fini(void) {}
54883c4be3SJerome Forissier #endif
55883c4be3SJerome Forissier 
56e86f1266SJens Wiklander #endif /*TEE_API_PRIVATE*/
57e86f1266SJens Wiklander 
58