1 /* 2 * Copyright (C) 2022 Huawei Technologies Co., Ltd. 3 * Licensed under the Mulan PSL v2. 4 * You can use this software according to the terms and conditions of the Mulan PSL v2. 5 * You may obtain a copy of Mulan PSL v2 at: 6 * http://license.coscl.org.cn/MulanPSL2 7 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 8 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 9 * PURPOSE. 10 * See the Mulan PSL v2 for more details. 11 */ 12 #ifndef TEE_SHAREMEM_OPS_H 13 #define TEE_SHAREMEM_OPS_H 14 #include <tee_defines.h> 15 16 #ifdef __cplusplus 17 #if __cplusplus 18 extern "C" { 19 #endif /* __cpluscplus */ 20 #endif /* __cpluscplus */ 21 22 int32_t copy_from_sharemem(uint32_t src_task, uint64_t src, uint32_t src_size, uintptr_t dst, uint32_t dst_size); 23 int32_t copy_to_sharemem(uintptr_t src, uint32_t src_size, uint32_t dst_task, uint64_t dst, uint32_t dst_size); 24 void *tee_alloc_sharemem_aux(const struct tee_uuid *uuid, uint32_t size); 25 void *tee_alloc_coherent_sharemem_aux(const struct tee_uuid *uuid, uint32_t size); 26 uint32_t tee_free_sharemem(void *addr, uint32_t size); 27 28 #ifdef __cplusplus 29 #if __cplusplus 30 } 31 #endif /* __cpluscplus */ 32 #endif /* __cpluscplus */ 33 34 #endif /* MEM_OPS_EXT_H */ 35