xref: /optee_os/core/arch/riscv/include/tee/entry_fast.h (revision d50fee0321fe6853ac6352cf0fd548666457b407)
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright 2023 NXP
4  * Copyright (c) 2015, Linaro Limited
5  * Copyright (c) 2014, STMicroelectronics International N.V.
6  */
7 
8 #ifndef __TEE_ENTRY_FAST_H
9 #define __TEE_ENTRY_FAST_H
10 
11 #include <kernel/thread.h>
12 
13 /* These functions are overridable by the specific target */
14 void tee_entry_get_api_call_count(struct thread_abi_args *args);
15 void tee_entry_get_api_uuid(struct thread_abi_args *args);
16 void tee_entry_get_api_revision(struct thread_abi_args *args);
17 void tee_entry_get_os_uuid(struct thread_abi_args *args);
18 void tee_entry_get_os_revision(struct thread_abi_args *args);
19 
20 /*
21  * Returns the number of calls recognized by tee_entry(). Used by the
22  * specific target to calculate the total number of supported calls when
23  * overriding tee_entry_get_api_call_count().
24  */
25 size_t tee_entry_generic_get_api_call_count(void);
26 
27 /*
28  * Fast call entry, __weak, overridable. If overridden should call
29  * __tee_entry_fast() at the end in order to handle the standard functions.
30  */
31 void tee_entry_fast(struct thread_abi_args *args);
32 void __tee_entry_fast(struct thread_abi_args *args);
33 
34 #endif /* __TEE_ENTRY_FAST_H */
35