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