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