| /optee_os/core/tee/ |
| H A D | tee_svc_storage.c | 1 // SPDX-License-Identifier: BSD-2-Clause 4 * Copyright (c) 2020, 2022-2023 Linaro Limited 48 TAILQ_FOREACH(e, &utc->storage_enums, link) { in tee_svc_storage_get_enum() 63 TAILQ_REMOVE(&utc->storage_enums, e, link); in tee_svc_close_enum() 65 if (e->fops) in tee_svc_close_enum() 66 e->fops->closedir(e->dir); in tee_svc_close_enum() 68 e->dir = NULL; in tee_svc_close_enum() 69 e->fops = NULL; in tee_svc_close_enum() 76 static void remove_corrupt_obj(struct user_ta_ctx *utc, struct tee_obj *o) in remove_corrupt_obj() argument 78 o->pobj->fops->remove(o->pobj); in remove_corrupt_obj() [all …]
|
| H A D | tee_obj.c | 1 // SPDX-License-Identifier: BSD-2-Clause 15 void tee_obj_add(struct user_ta_ctx *utc, struct tee_obj *o) in tee_obj_add() argument 17 TAILQ_INSERT_TAIL(&utc->objects, o, link); in tee_obj_add() 23 struct tee_obj *o; in tee_obj_get() local 25 TAILQ_FOREACH(o, &utc->objects, link) { in tee_obj_get() 26 if (obj_id == (vaddr_t)o) { in tee_obj_get() 27 *obj = o; in tee_obj_get() 34 void tee_obj_close(struct user_ta_ctx *utc, struct tee_obj *o) in tee_obj_close() argument 36 TAILQ_REMOVE(&utc->objects, o, link); in tee_obj_close() 38 if ((o->info.handleFlags & TEE_HANDLE_FLAG_PERSISTENT)) { in tee_obj_close() [all …]
|
| H A D | tee_pobj.c | 1 // SPDX-License-Identifier: BSD-2-Clause 19 return obj->flags & (TEE_DATA_FLAG_SHARE_WRITE | in pobj_need_usage_lock() 85 struct tee_pobj *o = NULL; in tee_pobj_get() local 91 TAILQ_FOREACH(o, &tee_pobjs, link) { in tee_pobj_get() 92 if ((obj_id_len == o->obj_id_len) && in tee_pobj_get() 93 (memcmp(obj_id, o->obj_id, obj_id_len) == 0) && in tee_pobj_get() 94 (memcmp(uuid, &o->uuid, sizeof(TEE_UUID)) == 0) && in tee_pobj_get() 95 (fops == o->fops)) { in tee_pobj_get() 96 *obj = o; in tee_pobj_get() 102 (*obj)->refcnt++; in tee_pobj_get() [all …]
|
| H A D | tee_svc_cryp.c | 1 // SPDX-License-Identifier: BSD-2-Clause 4 * Copyright (c) 2020, 2022-2023 Linaro Limited 81 /* Convert to/from big-endian byte array and provider-specific bignum */ 92 /* TEE Internal Core API v1.3.1, Table 6-8 */ 727 if (size > key->alloc_size) in op_attr_secret_value_from_user() 731 key->key_size = size; in op_attr_secret_value_from_user() 749 key_size = key->key_size; in op_attr_secret_value_to_user() 754 if (s < key->key_size || !buffer) in op_attr_secret_value_to_user() 757 return copy_to_user(buffer, key + 1, key->key_size); in op_attr_secret_value_to_user() 767 res = op_u32_to_binary_helper(key->key_size, data, data_len, offs); in op_attr_secret_value_to_binary() [all …]
|
| H A D | tee_time_generic.c | 1 // SPDX-License-Identifier: BSD-2-Clause 41 struct tee_ta_time_offs *o; in tee_time_ta_set_offs() local 53 o = realloc(tee_time_offs, n * sizeof(struct tee_ta_time_offs)); in tee_time_ta_set_offs() 54 if (!o) in tee_time_ta_set_offs() 56 tee_time_offs = o; in tee_time_ta_set_offs() 105 if (time->millis >= TEE_TIME_MILLIS_BASE) in tee_time_set_ta_time()
|
| /optee_os/core/include/kernel/ |
| H A D | refcount.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 26 * // Some other thread may have initialized o by now so check that 27 * // we still need to initialize o. 28 * if (!o) { 29 * o = initialize(); 38 * // Now that we have the mutex o can't be ininialized/uninitialized 40 * // to guard against the thread above already having reinitialized o 41 * if (!refcount_val(r) && o) 42 * uninitialize(o) 46 * where r if the reference counter, o is the object and m the mutex [all …]
|
| /optee_os/core/arch/arm/kernel/ |
| H A D | link.mk | 1 link-out-dir = $(out-dir)/core 3 link-script-dummy = $(arch-dir)/kernel/link_dummy.ld 4 link-script = $(if $(wildcard $(platform-dir)/kern.ld.S), \ 5 $(platform-dir)/kern.ld.S, \ 6 $(arch-dir)/kernel/kern.ld.S) 7 link-script-pp = $(link-out-dir)/kern.ld 8 link-script-dep = $(link-out-dir)/.kern.ld.d 12 link-ldflags-common += $(call ld-option,--no-warn-rwx-segments) 14 link-ldflags-common += $(call ld-option,--no-warn-execstack) 17 link-ldflags = $(LDFLAGS) [all …]
|
| /optee_os/lib/libutils/ext/include/ |
| H A D | fault_mitigation.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 41 * Zero is normally a success code in OP-TEE so special functions are 58 * struct ftmn_check - track current checked state 76 * struct ftmn_func_arg - track a called function 92 * struct ftmn - link a tracked call chain 114 * enum ftmn_incr - increase counter values 140 * FTMN_PANIC() - FTMN specific panic function 155 #define __FTMN_FUNC_BYTE(f, o, l) ((o) < (l) ? (uint8_t)(f)[(o)] : 0) argument 158 #define __FTMN_GET_FUNC_U32(f, o, l) \ argument 159 (SHIFT_U32(__FTMN_FUNC_BYTE((f), (o), (l)), 0) | \ [all …]
|
| /optee_os/core/arch/riscv/kernel/ |
| H A D | link.mk | 1 link-out-dir = $(out-dir)/core 3 link-script = $(if $(wildcard $(platform-dir)/kern.ld.S), \ 4 $(platform-dir)/kern.ld.S, \ 5 $(arch-dir)/kernel/kern.ld.S) 6 link-script-pp = $(link-out-dir)/kern.ld 7 link-script-dep = $(link-out-dir)/.kern.ld.d 9 link-ldflags-common += $(call ld-option,--no-warn-rwx-segments) 11 link-ldflags = $(LDFLAGS) 13 link-ldflags += -pie -Bsymbolic -z norelro $(ldflag-apply-dynamic-relocs) 16 link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map [all …]
|
| H A D | cache_helpers_rv.S | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 3 * Copyright 2022-2023 NXP 11 * The FENCE instruction is used to order device I/O and memory accesses 12 * as viewed by other RISC-V harts and external devices or coprocessors. 13 * "fence" below is a pseudo-instruction of "fence iorw, iorw" which 14 * performs Fence on all memory and I/O. 56 * RISC-V does not have an instruction to flush a range
|
| /optee_os/mk/ |
| H A D | macros.mk | 2 define mv-if-changed 3 if cmp -s $2 $1; then \ 4 rm -f $1; \ 6 $(cmd-echo-silent) ' UPD $2'; \ 11 define update-buildcount 12 @$(cmd-echo-silent) ' UPD $(1)' 13 $(q)if [ ! -f $(1) ]; then \ 14 mkdir -p $(dir $(1)); \ 21 # filter-out to workaround objdump warning 22 version-o-cflags = $(filter-out -g3,$(CFLAGS) $(core-platform-cflags) \ [all …]
|
| H A D | cleandirs.mk | 5 define _enum-parent-dirs 6 $(if $(1),$(1) $(if $(filter / ./,$(dir $(1))),,$(call enum-parent-dirs,$(dir $(1)))),) 9 define enum-parent-dirs 10 $(call _enum-parent-dirs,$(patsubst %/,%,$(1))) 17 # Returns the list of all existing output directories up to $(O) including all 20 # Example: if cleanfiles is "foo/a/file1 foo/b/c/d/file2" and O=foo, this will 22 define cleandirs-for-rmdir 23 $(eval _O:=$(if $(O),$(O),.))$(wildcard $(addprefix $(_O)/,$(call _reverse, 25 $(call enum-parent-dirs,$(d))))))) 28 RMDIR := rmdir --ignore-fail-on-non-empty [all …]
|
| H A D | subdir.mk | 7 # set srcs gen-srcs 8 # set cflags-$(oname) cflags-remove-$(oname) 9 # cxxflags-$(oname) cxxflags-remove-$(oname) 10 # aflags-$(oname) aflags-remove-$(oname) 11 # cppflags-$(oname) cppflags-remove-$(oname) 12 # incdirs-$(oname) 13 # incdirs-lib$(libname)-$(sm) [if libname is defined] 14 # cppflags-lib$(libname)-$(sm) [if libname is defined] 15 # cflags-lib$(libname)-$(sm) [if libname is defined] 16 # cxxflags-lib$(libname)-$(sm) [if libname is defined] [all …]
|
| /optee_os/lib/libutils/isoc/include/ |
| H A D | inttypes.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 30 #define PRIo8 "o" 31 #define PRIo16 "o" 32 #define PRIo32 "o" 33 #define PRIo64 __PRI64_PREFIX "o" 34 #define PRIoPTR __PRIPTR_PREFIX "o"
|
| /optee_os/core/lib/libtomcrypt/src/pk/ec25519/ |
| H A D | tweetnacl.c | 1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis */ 2 /* SPDX-License-Identifier: Unlicense */ 33 return (1 & ((d - 1) >> 8)) - 1; in vn() 47 sv car25519(gf o) in car25519() argument 52 o[i]+=(1LL<<16); in car25519() 53 c=o[i]>>16; in car25519() 54 o[(i+1)*(i<15)]+=c-1+37*(c-1)*(i==15); in car25519() 55 o[i]-=c<<16; in car25519() 61 i64 t,i,c=~(b-1); in sel25519() 69 sv pack25519(u8 *o,const gf n) in pack25519() argument [all …]
|
| /optee_os/ |
| H A D | Makefile | 6 # any sub-makefile can use them. 9 # Since this Makefile won't call any sub-makefiles, and since the commands do 38 # $(PLATFORM)-$(PLATFORM_FLAVOR) for convenience 39 ifneq (,$(findstring -,$(PLATFORM))) 40 ops := $(join PLATFORM PLATFORM_FLAVOR,$(addprefix =,$(subst -, ,$(PLATFORM)))) 47 # Default value for PLATFORM_FLAVOR is set in plat-$(PLATFORM)/conf.mk 48 ifeq ($O,) 49 O := out macro 50 out-dir := $(O)/$(ARCH)-plat-$(PLATFORM) 52 out-dir := $(O) [all …]
|
| /optee_os/core/drivers/crypto/se050/core/ |
| H A D | storage.c | 1 // SPDX-License-Identifier: BSD-2-Clause 3 * Copyright (C) Foundries Ltd. 2020 - All Rights Reserved 16 TEE_Result crypto_storage_obj_del(struct tee_obj *o) in crypto_storage_obj_del() argument 27 if (!o) in crypto_storage_obj_del() 30 len = o->info.dataSize; in crypto_storage_obj_del() 41 ret = o->pobj->fops->read(o->fh, o->info.dataPosition, in crypto_storage_obj_del() 54 len--; in crypto_storage_obj_del() 66 p = p - 4; in crypto_storage_obj_del()
|
| /optee_os/core/include/tee/ |
| H A D | tee_obj.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 27 void tee_obj_add(struct user_ta_ctx *utc, struct tee_obj *o); 32 void tee_obj_close(struct user_ta_ctx *utc, struct tee_obj *o); 36 TEE_Result tee_obj_verify(struct tee_ta_session *sess, struct tee_obj *o); 39 void tee_obj_free(struct tee_obj *o);
|
| H A D | tee_svc_cryp.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 85 TEE_Result tee_obj_set_type(struct tee_obj *o, uint32_t obj_type, 88 void tee_obj_attr_free(struct tee_obj *o); 89 void tee_obj_attr_clear(struct tee_obj *o); 90 TEE_Result tee_obj_attr_to_binary(struct tee_obj *o, void *data, 92 TEE_Result tee_obj_attr_from_binary(struct tee_obj *o, const void *data, 94 TEE_Result tee_obj_attr_copy_from(struct tee_obj *o, const struct tee_obj *src);
|
| /optee_os/core/pta/tests/ |
| H A D | fs_htree.c | 1 // SPDX-License-Identifier: BSD-2-Clause 83 pbn = 2 + bidx + bidx / (block_nodes * 2 - 1); in test_get_offs_size() 104 op->params[0].u.value.a = (vaddr_t)aux; in test_read_init() 105 op->params[0].u.value.b = offs; in test_read_init() 106 op->params[0].u.value.c = sz; in test_read_init() 107 *data = a->block; in test_read_init() 121 struct test_aux *a = uint_to_ptr(op->params[0].u.value.a); in test_read_final() 122 size_t offs = op->params[0].u.value.b; in test_read_final() 123 size_t sz = op->params[0].u.value.c; in test_read_final() 125 if (offs + sz <= a->data_len) in test_read_final() [all …]
|
| /optee_os/ta/mk/ |
| H A D | ta_dev_kit.mk | 1 # Get the dir of the ta-dev-kit, requires make version 3.81 or later 2 ta-dev-kit-dir := $(patsubst %/,%,$(abspath $(dir $(lastword $(MAKEFILE_LIST)))..)) 7 include $(ta-dev-kit-dir)/mk/conf.mk 8 ta-dev-kit-dir$(sm) := $(ta-dev-kit-dir) 10 include $(ta-dev-kit-dir$(sm))/mk/macros.mk 16 ifneq ($O,) 17 out-dir := $O 19 out-dir := . 21 link-out-dir := $(out-dir) # backward compat 22 link-out-dir$(sm) := $(out-dir) [all …]
|
| /optee_os/keys/ |
| H A D | default.pem | 1 -----BEGIN PRIVATE KEY----- 34 mTH0UYfcfGuV4+9o/ywgQlylPEjv+4ney6cBUTNqQEO2mRj2EBK2axJaHrrRXTcz 42 yDOxJEqwFoS44ln6UsMKPfq96f3K976NV/dm1BnT2HolWU2aoQp7qByBfVy/o/xL 52 -----END PRIVATE KEY-----
|
| H A D | default_ta.pem | 1 -----BEGIN PRIVATE KEY----- 34 mTH0UYfcfGuV4+9o/ywgQlylPEjv+4ney6cBUTNqQEO2mRj2EBK2axJaHrrRXTcz 42 yDOxJEqwFoS44ln6UsMKPfq96f3K976NV/dm1BnT2HolWU2aoQp7qByBfVy/o/xL 52 -----END PRIVATE KEY-----
|
| /optee_os/core/lib/zlib/ |
| H A D | inflate.h | 1 /* SPDX-License-Identifier: Zlib */ 2 /* inflate.h -- internal inflate state definition 3 * Copyright (C) 1995-2019 Mark Adler 33 TYPE, /* i: waiting for type bits, including last-flag bit */ 36 COPY_, /* i/o: same as COPY below, but only first time in */ 37 COPY, /* i/o: waiting for input or output to copy stored block */ 46 MATCH, /* o: waiting for output space to copy string */ 47 LIT, /* o: waiting for output space to write literal */ 48 CHECK, /* i: waiting for 32-bit check value */ 49 LENGTH, /* i: waiting for 32-bit length (gzip) */ [all …]
|
| /optee_os/core/lib/libtomcrypt/src/misc/base32/ |
| H A D | base32_decode.c | 1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis */ 2 /* SPDX-License-Identifier: Unlicense */ 31 …13/*N*/,14/*O*/,15/*P*/,16/*Q*/,17/*R*/,18/*S*/,19/*T*/,20/*U*/,21/*V*/,22/*W*/,23/*X*/,24/*Y*/,25… in base32_decode() 37 …23/*N*/,24/*O*/,25/*P*/,26/*Q*/,27/*R*/,28/*S*/,29/*T*/,30/*U*/,31/*V*/,99/*W*/,99/*X*/,99/*Y*/,99… in base32_decode() 43 …2/*N*/,16/*O*/,13/*P*/,14/*Q*/, 4/*R*/,22/*S*/,17/*T*/,19/*U*/,99/*V*/,20/*W*/,15/*X*/, 0/*Y*/,23/… in base32_decode() 45 { /* id = BASE32_CROCKFORD : 0123456789ABCDEFGHJKMNPQRSTVWXYZ + O=>0 + IL=>1 */ in base32_decode() 49 …21/*N*/, 0/*O*/,22/*P*/,23/*Q*/,24/*R*/,25/*S*/,26/*T*/,99/*U*/,27/*V*/,28/*W*/,29/*X*/,30/*Y*/,31… in base32_decode() 60 while (inlen > 0 && in[inlen-1] == '=') inlen--; in base32_decode() 86 if ((c >= 'a') && (c <= 'z')) c -= 32; in base32_decode() 87 if (c < '0' || c > 'Z' || map[c-'0'] > 31) { in base32_decode() [all …]
|