| /optee_os/core/arch/arm/tee/ |
| H A D | entry_fast.c | 19 static void tee_entry_get_shm_config(struct thread_smc_args *args) in tee_entry_get_shm_config() argument 21 args->a0 = OPTEE_SMC_RETURN_OK; in tee_entry_get_shm_config() 22 args->a1 = default_nsec_shm_paddr; in tee_entry_get_shm_config() 23 args->a2 = default_nsec_shm_size; in tee_entry_get_shm_config() 25 args->a3 = core_mmu_is_shm_cached(); in tee_entry_get_shm_config() 30 static void tee_entry_get_protmem_config(struct thread_smc_args *args) in tee_entry_get_protmem_config() argument 33 args->a0 = OPTEE_SMC_RETURN_OK; in tee_entry_get_protmem_config() 34 args->a1 = CFG_TEE_SDP_MEM_BASE; in tee_entry_get_protmem_config() 35 args->a2 = CFG_TEE_SDP_MEM_SIZE; in tee_entry_get_protmem_config() 37 args->a0 = OPTEE_SMC_RETURN_OK; in tee_entry_get_protmem_config() [all …]
|
| /optee_os/core/arch/riscv/tee/ |
| H A D | entry_fast.c | 20 static void tee_entry_get_shm_config(struct thread_abi_args *args) in tee_entry_get_shm_config() argument 22 args->a0 = OPTEE_ABI_RETURN_OK; in tee_entry_get_shm_config() 23 args->a1 = default_nsec_shm_paddr; in tee_entry_get_shm_config() 24 args->a2 = default_nsec_shm_size; in tee_entry_get_shm_config() 26 args->a3 = core_mmu_is_shm_cached(); in tee_entry_get_shm_config() 30 static void tee_entry_fastcall_l2cc_mutex(struct thread_abi_args *args) in tee_entry_fastcall_l2cc_mutex() argument 32 args->a0 = OPTEE_ABI_RETURN_UNKNOWN_FUNCTION; in tee_entry_fastcall_l2cc_mutex() 35 static void tee_entry_exchange_capabilities(struct thread_abi_args *args) in tee_entry_exchange_capabilities() argument 53 if (args->a1 & ~OPTEE_ABI_NSEC_CAP_UNIPROCESSOR) { in tee_entry_exchange_capabilities() 55 args->a0 = OPTEE_ABI_RETURN_ENOTAVAIL; in tee_entry_exchange_capabilities() [all …]
|
| /optee_os/core/drivers/ |
| H A D | smccc_trng.c | 53 struct thread_smc_args args = { }; in smccc_trng_is_supported() local 65 args.a0 = ARM_SMCCC_VERSION; in smccc_trng_is_supported() 66 thread_smccc(&args); in smccc_trng_is_supported() 67 if (args.a0 & BIT32(31) || args.a0 < SMCCC_V_1_1) in smccc_trng_is_supported() 74 args.a0 = ARM_SMCCC_TRNG_VERSION; in smccc_trng_is_supported() 75 thread_smccc(&args); in smccc_trng_is_supported() 76 if (args.a0 & BIT32(31) || args.a0 < TRNG_VERSION_1_0) in smccc_trng_is_supported() 80 args.a0 = ARM_SMCCC_TRNG_FEATURES; in smccc_trng_is_supported() 81 args.a1 = ARM_SMCCC_TRNG_RND_64; in smccc_trng_is_supported() 82 thread_smccc(&args); in smccc_trng_is_supported() [all …]
|
| H A D | ffa_console.c | 23 static void copy_buf_to_args(struct thread_smc_args *args, in copy_buf_to_args() argument 30 args->a1 = len; in copy_buf_to_args() 33 memcpy(&args->a2 + i, buf + j, MIN(len - j, reg_size)); in copy_buf_to_args() 40 struct thread_smc_args args = { in ffa_console_32_flush() local 44 copy_buf_to_args(&args, pd->buf, pd->pos, sizeof(uint32_t)); in ffa_console_32_flush() 45 thread_smccc(&args); in ffa_console_32_flush() 69 struct thread_smc_args args = { in ffa_console_64_flush() local 73 copy_buf_to_args(&args, pd->buf, pd->pos, sizeof(uint64_t)); in ffa_console_64_flush() 74 thread_smccc(&args); in ffa_console_64_flush() 96 struct thread_smc_args args = { in ffa_feature_console_64bit() local [all …]
|
| /optee_os/core/drivers/wdt/ |
| H A D | watchdog_sm.c | 17 enum sm_handler_ret __wdt_sm_handler(struct thread_smc_args *args) in __wdt_sm_handler() argument 26 switch (args->a1) { in __wdt_sm_handler() 33 args->a0 = PSCI_RET_INTERNAL_FAILURE; in __wdt_sm_handler() 35 args->a0 = PSCI_RET_SUCCESS; in __wdt_sm_handler() 36 args->a1 = wdt_min_timeout; in __wdt_sm_handler() 37 args->a2 = wdt_max_timeout; in __wdt_sm_handler() 46 if (args->a2 < min_timeout || args->a2 > max_timeout) { in __wdt_sm_handler() 47 args->a0 = PSCI_RET_INVALID_PARAMETERS; in __wdt_sm_handler() 51 watchdog_settimeout(args->a2); in __wdt_sm_handler() 52 args->a0 = PSCI_RET_SUCCESS; in __wdt_sm_handler() [all …]
|
| /optee_os/ta/pkcs11/src/ |
| H A D | serializer.c | 20 void serialargs_init(struct serialargs *args, void *in, size_t size) in serialargs_init() argument 22 args->start = in; in serialargs_init() 23 args->next = in; in serialargs_init() 24 args->size = size; in serialargs_init() 27 enum pkcs11_rc serialargs_get(struct serialargs *args, void *out, size_t size) in serialargs_get() argument 32 rc = serialargs_get_ptr(args, &src, size); in serialargs_get() 39 static enum pkcs11_rc alloc_and_get(struct serialargs *args, char *orig_next, in alloc_and_get() argument 56 rc = serialargs_get_ptr(args, &src, size); in alloc_and_get() 62 args->next = orig_next; in alloc_and_get() 74 enum pkcs11_rc serialargs_alloc_and_get(struct serialargs *args, in serialargs_alloc_and_get() argument [all …]
|
| H A D | serializer.h | 34 void serialargs_init(struct serialargs *args, void *in, size_t size); 44 enum pkcs11_rc serialargs_get(struct serialargs *args, void *out, size_t sz); 53 static inline enum pkcs11_rc serialargs_get_u32(struct serialargs *args, in serialargs_get_u32() argument 56 return serialargs_get(args, out, sizeof(*out)); in serialargs_get_u32() 67 enum pkcs11_rc serialargs_get_ptr(struct serialargs *args, void **out, 79 serialargs_alloc_get_one_attribute(struct serialargs *args, 90 enum pkcs11_rc serialargs_alloc_get_attributes(struct serialargs *args, 102 enum pkcs11_rc serialargs_alloc_and_get(struct serialargs *args, 112 bool serialargs_remaining_bytes(struct serialargs *args); 123 enum pkcs11_rc serialargs_get_session_from_handle(struct serialargs *args,
|
| /optee_os/core/arch/arm/plat-stm32mp1/nsec-service/ |
| H A D | stm32mp1_svc_setup.c | 17 struct thread_smc_args *args) in sip_service() argument 19 switch (OPTEE_SMC_FUNC_NUM(args->a0)) { in sip_service() 21 args->a0 = STM32_SIP_SVC_FUNCTION_COUNT; in sip_service() 24 args->a0 = STM32_SIP_SVC_VERSION_MAJOR; in sip_service() 25 args->a1 = STM32_SIP_SVC_VERSION_MINOR; in sip_service() 28 args->a0 = STM32_SIP_SVC_UID_0; in sip_service() 29 args->a1 = STM32_SIP_SVC_UID_1; in sip_service() 30 args->a2 = STM32_SIP_SVC_UID_2; in sip_service() 31 args->a3 = STM32_SIP_SVC_UID_3; in sip_service() 36 args->a0 = STM32_SIP_SVC_OK; in sip_service() [all …]
|
| H A D | bsec_svc.c | 14 void bsec_main(struct thread_smc_args *args) in bsec_main() argument 17 uint32_t cmd = args->a1; in bsec_main() 18 uint32_t otp_id = args->a2; in bsec_main() 19 uint32_t in_value = args->a3; in bsec_main() 20 uint32_t *out_value = &args->a1; in bsec_main() 24 args->a0 = STM32_SIP_SVC_INVALID_PARAMS; in bsec_main() 62 args->a0 = STM32_SIP_SVC_OK; in bsec_main() 64 args->a0 = STM32_SIP_SVC_INVALID_PARAMS; in bsec_main() 66 args->a0 = STM32_SIP_SVC_FAILED; in bsec_main()
|
| /optee_os/core/arch/arm/tests/ |
| H A D | ffa_lsp.c | 11 static void test_direct_req(struct thread_smc_1_2_regs *args) in test_direct_req() argument 13 uint16_t src = args->a1 >> 16; in test_direct_req() 14 uint16_t dst = args->a1; in test_direct_req() 16 if (OPTEE_SMC_IS_64(args->a0)) in test_direct_req() 17 args->a0 = FFA_MSG_SEND_DIRECT_RESP_64; in test_direct_req() 19 args->a0 = FFA_MSG_SEND_DIRECT_RESP_32; in test_direct_req() 20 args->a1 = SHIFT_U32(dst, 16) | src; in test_direct_req() 21 args->a2 = 0; in test_direct_req() 22 args->a3 = args->a3 + args->a4 + args->a5 + args->a6 + args->a7; in test_direct_req()
|
| /optee_os/core/lib/libtomcrypt/src/math/ |
| H A D | multi.c | 12 va_list args; in ltc_init_multi() local 14 va_start(args, a); in ltc_init_multi() 27 va_end(args); in ltc_init_multi() 31 cur = va_arg(args, void**); in ltc_init_multi() 33 va_end(args); in ltc_init_multi() 41 va_list args; in ltc_init_multi_size() local 43 va_start(args, a); in ltc_init_multi_size() 59 cur = va_arg(args, void**); in ltc_init_multi_size() 61 va_end(args); in ltc_init_multi_size() 68 va_list args; in ltc_deinit_multi() local [all …]
|
| /optee_os/core/arch/arm/kernel/ |
| H A D | spmc_sp_handler.c | 21 int spmc_sp_start_thread(struct thread_smc_1_2_regs *args) in spmc_sp_start_thread() argument 23 thread_sp_alloc_and_run(&args->arg11); in spmc_sp_start_thread() 31 static void ffa_set_error(struct thread_smc_1_2_regs *args, uint32_t error) in ffa_set_error() argument 33 spmc_set_args(args, FFA_ERROR, FFA_PARAM_MBZ, error, FFA_PARAM_MBZ, in ffa_set_error() 37 static void ffa_success(struct thread_smc_1_2_regs *args) in ffa_success() argument 39 spmc_set_args(args, FFA_SUCCESS_32, 0, 0, 0, 0, 0); in ffa_success() 42 static TEE_Result ffa_get_dst(struct thread_smc_1_2_regs *args, in ffa_get_dst() argument 48 s = sp_get_session(FFA_DST(args->a1)); in ffa_get_dst() 58 if (FFA_SRC(args->a1) != caller->endpoint_id) { in ffa_get_dst() 128 static void spmc_sp_handle_mem_share(struct thread_smc_1_2_regs *args, in spmc_sp_handle_mem_share() argument [all …]
|
| H A D | thread_spmc.c | 154 void spmc_set_args(struct thread_smc_1_2_regs *args, uint32_t fid, in spmc_set_args() argument 158 *args = (struct thread_smc_1_2_regs){ in spmc_set_args() 168 static void set_simple_ret_val(struct thread_smc_1_2_regs *args, int ffa_ret) in set_simple_ret_val() argument 171 spmc_set_args(args, FFA_ERROR, 0, ffa_ret, 0, 0, 0); in set_simple_ret_val() 173 spmc_set_args(args, FFA_SUCCESS_32, 0, 0, 0, 0, 0); in set_simple_ret_val() 218 static int32_t get_ffa_ret_code(const struct thread_smc_args *args) in get_ffa_ret_code() argument 220 if (is_ffa_success(args->a0)) in get_ffa_ret_code() 222 if (args->a0 == FFA_ERROR && args->a2) in get_ffa_ret_code() 223 return args->a2; in get_ffa_ret_code() 230 struct thread_smc_args args = { in ffa_simple_call() local [all …]
|
| /optee_os/core/lib/libtomcrypt/src/misc/ssh/ |
| H A D | ssh_encode_sequence_multi.c | 23 va_list args; in ssh_encode_sequence_multi() local 37 va_start(args, outlen); in ssh_encode_sequence_multi() 38 while ((type = (ssh_data_type)va_arg(args, int)) != LTC_SSHDATA_EOL) { in ssh_encode_sequence_multi() 42 LTC_UNUSED_PARAM( va_arg(args, int) ); in ssh_encode_sequence_multi() 46 LTC_UNUSED_PARAM( va_arg(args, ulong32) ); in ssh_encode_sequence_multi() 50 LTC_UNUSED_PARAM( va_arg(args, ulong64) ); in ssh_encode_sequence_multi() 55 LTC_UNUSED_PARAM( va_arg(args, char*) ); in ssh_encode_sequence_multi() 56 size += va_arg(args, unsigned long); in ssh_encode_sequence_multi() 60 vdata = va_arg(args, void*); in ssh_encode_sequence_multi() 75 va_end(args); in ssh_encode_sequence_multi() [all …]
|
| /optee_os/core/arch/arm/sm/ |
| H A D | sm.c | 24 static void smc_arch_handler(struct thread_smc_args *args) in smc_arch_handler() argument 26 uint32_t smc_fid = args->a0; in smc_arch_handler() 27 uint32_t feature_fid = args->a1; in smc_arch_handler() 31 args->a0 = SMCCC_V_1_1; in smc_arch_handler() 37 args->a0 = ARM_SMCCC_RET_SUCCESS; in smc_arch_handler() 40 args->a0 = ARM_SMCCC_RET_NOT_SUPPORTED; in smc_arch_handler() 45 args->a0 = ARM_SMCCC_RET_NOT_SUPPORTED; in smc_arch_handler() 49 args->a0 = ARM_SMCCC_RET_NOT_REQUIRED; in smc_arch_handler() 52 args->a0 = OPTEE_SMC_RETURN_UNKNOWN_FUNCTION; in smc_arch_handler() 60 struct thread_smc_args *args = (struct thread_smc_args *)nsec_r0; in sm_from_nsec() local [all …]
|
| H A D | std_smc.c | 44 void smc_std_handler(struct thread_smc_args *args, struct sm_nsec_ctx *nsec) in smc_std_handler() argument 46 uint32_t smc_fid = args->a0; in smc_std_handler() 49 tee_psci_handler(args, nsec); in smc_std_handler() 56 args->a0 = PSCI_NUM_CALLS; in smc_std_handler() 59 args->a0 = uuid.timeLow; in smc_std_handler() 60 args->a1 = (uuid.timeHiAndVersion << 16) | uuid.timeMid; in smc_std_handler() 61 args->a2 = (uuid.clockSeqAndNode[3] << 24) | in smc_std_handler() 65 args->a3 = (uuid.clockSeqAndNode[7] << 24) | in smc_std_handler() 71 args->a0 = STD_SVC_VERSION_MAJOR; in smc_std_handler() 72 args->a1 = STD_SVC_VERSION_MINOR; in smc_std_handler() [all …]
|
| H A D | psci.c | 140 void tee_psci_handler(struct thread_smc_args *args, struct sm_nsec_ctx *nsec) in tee_psci_handler() argument 142 uint32_t smc_fid = args->a0; in tee_psci_handler() 143 uint32_t a1 = args->a1; in tee_psci_handler() 144 uint32_t a2 = args->a2; in tee_psci_handler() 145 uint32_t a3 = args->a3; in tee_psci_handler() 149 args->a0 = psci_version(); in tee_psci_handler() 152 args->a0 = psci_cpu_suspend(a1, a2, a3, nsec); in tee_psci_handler() 155 args->a0 = psci_cpu_off(); in tee_psci_handler() 158 args->a0 = psci_cpu_on(a1, a2, a3); in tee_psci_handler() 161 args->a0 = psci_affinity_info(a1, a2); in tee_psci_handler() [all …]
|
| /optee_os/core/arch/arm/plat-sam/nsec-service/ |
| H A D | sm_platform_handler.c | 18 static enum sm_handler_ret sam_sip_handler(struct thread_smc_args *args) in sam_sip_handler() argument 26 switch (OPTEE_SMC_FUNC_NUM(args->a0)) { in sam_sip_handler() 29 args->a0 = pl310_enable(); in sam_sip_handler() 32 args->a0 = pl310_disable(); in sam_sip_handler() 35 args->a0 = pl310_enable_writeback(); in sam_sip_handler() 38 args->a0 = pl310_disable_writeback(); in sam_sip_handler() 42 atmel_sfr_set_usb_suspend(args->a1); in sam_sip_handler() 43 args->a0 = SAMA5_SMC_SIP_RETURN_SUCCESS; in sam_sip_handler() 46 return at91_pm_set_suspend_mode(args); in sam_sip_handler() 48 return at91_pm_get_suspend_mode(args); in sam_sip_handler() [all …]
|
| /optee_os/scripts/ |
| H A D | mem_usage.py | 42 def printf(format, *args): argument 43 sys.stdout.write(format % args) 47 if args.no_map: 68 if args.raw: 79 global args 88 args = get_args() 92 args.tee_elf], 102 args.tee_elf], 162 if args.all or args.init: 164 if args.all or args.paged: [all …]
|
| H A D | derive_rpmb_key.py | 79 args = get_args() 81 if args.testkey: 82 if args.cid or args.huk or args.compat: 92 if not args.cid: 96 if not args.huk: 100 if len(args.cid) != 16: 105 if len(args.huk) != 16: 110 if not args.quiet: 114 key = derive_key(args.huk, args.cid, args.compat) 116 if args.quiet: [all …]
|
| /optee_os/core/lib/libtomcrypt/src/misc/crypt/ |
| H A D | crypt_fsa.c | 14 va_list args; in crypt_fsa() local 17 va_start(args, mp); in crypt_fsa() 22 while ((p = va_arg(args, void*)) != NULL) { in crypt_fsa() 24 va_end(args); in crypt_fsa() 29 while ((p = va_arg(args, void*)) != NULL) { in crypt_fsa() 31 va_end(args); in crypt_fsa() 36 while ((p = va_arg(args, void*)) != NULL) { in crypt_fsa() 38 va_end(args); in crypt_fsa() 43 va_end(args); in crypt_fsa()
|
| /optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/ |
| H A D | der_encode_sequence_multi.c | 27 va_list args; in der_encode_sequence_multi() local 34 va_start(args, outlen); in der_encode_sequence_multi() 37 type = (ltc_asn1_type)va_arg(args, int); in der_encode_sequence_multi() 43 size = va_arg(args, unsigned long); in der_encode_sequence_multi() 44 data = va_arg(args, void*); in der_encode_sequence_multi() 73 va_end(args); in der_encode_sequence_multi() 77 va_end(args); in der_encode_sequence_multi() 90 va_start(args, outlen); in der_encode_sequence_multi() 93 type = (ltc_asn1_type)va_arg(args, int); in der_encode_sequence_multi() 99 size = va_arg(args, unsigned long); in der_encode_sequence_multi() [all …]
|
| /optee_os/core/arch/arm/plat-rzn1/ |
| H A D | sm_platform_handler.c | 70 struct thread_smc_args *args) in oem_service() argument 72 switch (OPTEE_SMC_FUNC_NUM(args->a0)) { in oem_service() 74 args->a0 = oem_sysreg(args->a1, args->a2, &args->a3); in oem_service() 75 args->a1 = args->a3; in oem_service() 78 console_putc(args->a1); in oem_service() 89 struct thread_smc_args *args = (void *)&ctx->nsec.r0; in sm_platform_handler() local 91 if (!OPTEE_SMC_IS_FAST_CALL(args->a0)) in sm_platform_handler() 94 switch (OPTEE_SMC_OWNER_NUM(args->a0)) { in sm_platform_handler() 96 return oem_service(ctx, args); in sm_platform_handler()
|
| /optee_os/core/arch/riscv/include/tee/ |
| H A D | entry_fast.h | 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); 31 void tee_entry_fast(struct thread_abi_args *args); 32 void __tee_entry_fast(struct thread_abi_args *args);
|
| /optee_os/core/arch/arm/include/tee/ |
| H A D | entry_fast.h | 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); 30 void tee_entry_fast(struct thread_smc_args *args); 31 void __tee_entry_fast(struct thread_smc_args *args);
|