1cbe7e1b8SBalint Dobszay /* SPDX-License-Identifier: BSD-2-Clause */ 2cbe7e1b8SBalint Dobszay /* 3cbe7e1b8SBalint Dobszay * Copyright (c) 2018-2019, Linaro Limited 4cbe7e1b8SBalint Dobszay * Copyright (c) 2020, Arm Limited 5cbe7e1b8SBalint Dobszay */ 6cbe7e1b8SBalint Dobszay 7cbe7e1b8SBalint Dobszay #include <kernel/handle.h> 8cbe7e1b8SBalint Dobszay #include <kernel/ts_store.h> 9cbe7e1b8SBalint Dobszay #include <kernel/user_mode_ctx_struct.h> 10cbe7e1b8SBalint Dobszay #include <tee_api_defines.h> 11cbe7e1b8SBalint Dobszay #include <tee_api_types.h> 12cbe7e1b8SBalint Dobszay #include <types_ext.h> 13cbe7e1b8SBalint Dobszay 14*d50fee03SEtienne Carriere #ifndef __KERNEL_LDELF_SYSCALLS_H 15*d50fee03SEtienne Carriere #define __KERNEL_LDELF_SYSCALLS_H 16cbe7e1b8SBalint Dobszay 17cbe7e1b8SBalint Dobszay struct system_ctx { 18cbe7e1b8SBalint Dobszay struct handle_db db; 19cbe7e1b8SBalint Dobszay const struct ts_store_ops *store_op; 20cbe7e1b8SBalint Dobszay }; 21cbe7e1b8SBalint Dobszay 22baa5161dSBalint Dobszay TEE_Result ldelf_syscall_map_zi(vaddr_t *va, size_t num_bytes, size_t pad_begin, 23baa5161dSBalint Dobszay size_t pad_end, unsigned long flags); 24baa5161dSBalint Dobszay TEE_Result ldelf_syscall_unmap(vaddr_t va, size_t num_bytes); 25baa5161dSBalint Dobszay TEE_Result ldelf_syscall_open_bin(const TEE_UUID *uuid, size_t uuid_size, 26baa5161dSBalint Dobszay uint32_t *handle); 27baa5161dSBalint Dobszay TEE_Result ldelf_syscall_close_bin(unsigned long handle); 28baa5161dSBalint Dobszay TEE_Result ldelf_syscall_map_bin(vaddr_t *va, size_t num_bytes, 29baa5161dSBalint Dobszay unsigned long handle, size_t offs_bytes, 30baa5161dSBalint Dobszay size_t pad_begin, size_t pad_end, 31baa5161dSBalint Dobszay unsigned long flags); 32baa5161dSBalint Dobszay TEE_Result ldelf_syscall_copy_from_bin(void *dst, size_t offs, size_t num_bytes, 33baa5161dSBalint Dobszay unsigned long handle); 34baa5161dSBalint Dobszay TEE_Result ldelf_syscall_set_prot(unsigned long va, size_t num_bytes, 35baa5161dSBalint Dobszay unsigned long flags); 36baa5161dSBalint Dobszay TEE_Result ldelf_syscall_remap(unsigned long old_va, vaddr_t *new_va, 37baa5161dSBalint Dobszay size_t num_bytes, size_t pad_begin, 38baa5161dSBalint Dobszay size_t pad_end); 39baa5161dSBalint Dobszay TEE_Result ldelf_syscall_gen_rnd_num(void *buf, size_t num_bytes); 40baa5161dSBalint Dobszay void ldelf_sess_cleanup(struct ts_session *sess); 41cbe7e1b8SBalint Dobszay 42*d50fee03SEtienne Carriere #endif /* __KERNEL_LDELF_SYSCALLS_H */ 43