1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* Copyright (c) 2018, Linaro Limited */ 3 4 #ifndef __ARITH_TAF_H 5 #define __ARITH_TAF_H 6 7 #include <tee_internal_api.h> 8 9 TEE_Result ta_entry_arith_new_var(uint32_t param_type, 10 TEE_Param params[TEE_NUM_PARAMS]); 11 TEE_Result ta_entry_arith_new_fmm_ctx(uint32_t param_type, 12 TEE_Param params[TEE_NUM_PARAMS]); 13 TEE_Result ta_entry_arith_new_fmm_var(uint32_t param_type, 14 TEE_Param params[TEE_NUM_PARAMS]); 15 TEE_Result ta_entry_arith_free_handle(uint32_t param_type, 16 TEE_Param params[TEE_NUM_PARAMS]); 17 TEE_Result ta_entry_arith_from_octet_string(uint32_t param_type, 18 TEE_Param params[TEE_NUM_PARAMS]); 19 TEE_Result ta_entry_arith_from_s32(uint32_t param_type, 20 TEE_Param params[TEE_NUM_PARAMS]); 21 TEE_Result ta_entry_arith_get_value(uint32_t param_type, 22 TEE_Param params[TEE_NUM_PARAMS]); 23 TEE_Result ta_entry_arith_get_value_s32(uint32_t param_type, 24 TEE_Param params[TEE_NUM_PARAMS]); 25 TEE_Result ta_entry_arith_get_bit(uint32_t param_type, 26 TEE_Param params[TEE_NUM_PARAMS]); 27 TEE_Result ta_entry_arith_get_bit_count(uint32_t param_type, 28 TEE_Param params[TEE_NUM_PARAMS]); 29 TEE_Result ta_entry_arith_shift_right(uint32_t param_type, 30 TEE_Param params[TEE_NUM_PARAMS]); 31 TEE_Result ta_entry_arith_cmp(uint32_t param_type, 32 TEE_Param params[TEE_NUM_PARAMS]); 33 TEE_Result ta_entry_arith_cmp_s32(uint32_t param_type, 34 TEE_Param params[TEE_NUM_PARAMS]); 35 TEE_Result ta_entry_arith_add(uint32_t param_type, 36 TEE_Param params[TEE_NUM_PARAMS]); 37 TEE_Result ta_entry_arith_sub(uint32_t param_type, 38 TEE_Param params[TEE_NUM_PARAMS]); 39 TEE_Result ta_entry_arith_mul(uint32_t param_type, 40 TEE_Param params[TEE_NUM_PARAMS]); 41 TEE_Result ta_entry_arith_neg(uint32_t param_type, 42 TEE_Param params[TEE_NUM_PARAMS]); 43 TEE_Result ta_entry_arith_sqr(uint32_t param_type, 44 TEE_Param params[TEE_NUM_PARAMS]); 45 TEE_Result ta_entry_arith_div(uint32_t param_type, 46 TEE_Param params[TEE_NUM_PARAMS]); 47 TEE_Result ta_entry_arith_mod(uint32_t param_type, 48 TEE_Param params[TEE_NUM_PARAMS]); 49 TEE_Result ta_entry_arith_addmod(uint32_t param_type, 50 TEE_Param params[TEE_NUM_PARAMS]); 51 TEE_Result ta_entry_arith_submod(uint32_t param_type, 52 TEE_Param params[TEE_NUM_PARAMS]); 53 TEE_Result ta_entry_arith_mulmod(uint32_t param_type, 54 TEE_Param params[TEE_NUM_PARAMS]); 55 TEE_Result ta_entry_arith_sqrmod(uint32_t param_type, 56 TEE_Param params[TEE_NUM_PARAMS]); 57 TEE_Result ta_entry_arith_invmod(uint32_t param_type, 58 TEE_Param params[TEE_NUM_PARAMS]); 59 TEE_Result ta_entry_arith_is_rel_prime(uint32_t param_type, 60 TEE_Param params[TEE_NUM_PARAMS]); 61 TEE_Result ta_entry_arith_compute_egcd(uint32_t param_type, 62 TEE_Param params[TEE_NUM_PARAMS]); 63 TEE_Result ta_entry_arith_is_prime(uint32_t param_type, 64 TEE_Param params[TEE_NUM_PARAMS]); 65 TEE_Result ta_entry_arith_to_fmm(uint32_t param_type, 66 TEE_Param params[TEE_NUM_PARAMS]); 67 TEE_Result ta_entry_arith_from_fmm(uint32_t param_type, 68 TEE_Param params[TEE_NUM_PARAMS]); 69 TEE_Result ta_entry_arith_compute_fmm(uint32_t param_type, 70 TEE_Param params[TEE_NUM_PARAMS]); 71 72 #endif /*__ARITH_TAF_H*/ 73