History log of /optee_os/lib/libutils/ext/ (Results 26 – 50 of 210)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
0a75d40813-Oct-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: fix data abort during ftrace

With commit c10e3fa93d24 ("core: fix race in handling TA panic") the
resources of a panicked TAs are released as early as possible, including
the user space mapped

core: fix data abort during ftrace

With commit c10e3fa93d24 ("core: fix race in handling TA panic") the
resources of a panicked TAs are released as early as possible, including
the user space mapped ftrace buffer. However, the pointer to the ftrace
buffer is stored in the ts_session for quick and easy access. The ftrace
buffer is always retrieved with get_fbuf() that already have a few other
checks to see if the buffer is currently available. So add a check to
see that the TA hasn't panicked also.

Fixes: c10e3fa93d24 ("core: fix race in handling TA panic")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_armv8a)

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/optee_ffa.h
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.h
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/include/riscv_macros.S
/optee_os/core/arch/riscv/include/sbi.h
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_optee_abi_rv.S
/optee_os/core/crypto.mk
/optee_os/core/drivers/atmel_saic.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/sub.mk
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/hfic.c
/optee_os/core/drivers/imx/mu/sub.mk
/optee_os/core/drivers/plic.c
/optee_os/core/drivers/regulator/regulator_dt.c
/optee_os/core/drivers/regulator/regulator_fixed.c
/optee_os/core/drivers/regulator/sub.mk
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/include/drivers/regulator.h
/optee_os/core/include/drivers/stm32_i2c.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/user_ta.h
/optee_os/core/kernel/interrupt.c
/optee_os/core/kernel/pseudo_ta.c
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/mpi_desc.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sub.mk
/optee_os/core/lib/libtomcrypt/src/hashes/sub.mk
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/libtomcrypt/tomcrypt.c
/optee_os/lib/libmbedtls/core/aes.c
/optee_os/lib/libmbedtls/core/dh.c
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/hash.c
/optee_os/lib/libmbedtls/core/hmac.c
/optee_os/lib/libmbedtls/core/mbed_helpers.h
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libmbedtls/core/sub.mk
/optee_os/lib/libmbedtls/include/mbedtls_config_kernel.h
/optee_os/lib/libmbedtls/mbedtls/.gitattributes
/optee_os/lib/libmbedtls/mbedtls/.uncrustify.cfg
/optee_os/lib/libmbedtls/mbedtls/CONTRIBUTING.md
/optee_os/lib/libmbedtls/mbedtls/ChangeLog
/optee_os/lib/libmbedtls/mbedtls/README.md
/optee_os/lib/libmbedtls/mbedtls/SECURITY.md
/optee_os/lib/libmbedtls/mbedtls/SUPPORT.md
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/aes.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/aria.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/asn1.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/asn1write.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/base64.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/bignum.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/build_info.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/camellia.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ccm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/chacha20.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/chachapoly.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/check_config.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/cipher.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/cmac.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/compat-2.x.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/config_psa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/constant_time.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ctr_drbg.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/debug.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/des.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/dhm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecdh.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecdsa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecjpake.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecp.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/entropy.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/error.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/gcm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/hkdf.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/hmac_drbg.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/legacy_or_psa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/lms.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/mbedtls_config.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md5.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/memory_buffer_alloc.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/net_sockets.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/nist_kw.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/oid.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pem.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pk.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs12.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs5.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs7.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform_time.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform_util.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/poly1305.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/private_access.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/psa_util.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ripemd160.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/rsa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha1.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha256.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha512.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_cache.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_ciphersuites.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_cookie.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_ticket.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/threading.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/timing.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/version.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_crl.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_crt.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_csr.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_builtin_composites.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_builtin_primitives.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_compat.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_config.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_driver_common.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_driver_contexts_composites.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_driver_contexts_primitives.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_extra.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_platform.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_se_driver.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_sizes.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_struct.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_types.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_values.h
/optee_os/lib/libmbedtls/mbedtls/library/aes.c
/optee_os/lib/libmbedtls/mbedtls/library/aesce.c
/optee_os/lib/libmbedtls/mbedtls/library/aesce.h
/optee_os/lib/libmbedtls/mbedtls/library/aesni.c
/optee_os/lib/libmbedtls/mbedtls/library/aesni.h
/optee_os/lib/libmbedtls/mbedtls/library/alignment.h
/optee_os/lib/libmbedtls/mbedtls/library/aria.c
/optee_os/lib/libmbedtls/mbedtls/library/asn1parse.c
/optee_os/lib/libmbedtls/mbedtls/library/asn1write.c
/optee_os/lib/libmbedtls/mbedtls/library/base64.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_core.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_core.h
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod.h
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod_raw.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod_raw.h
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod_raw_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/bn_mul.h
/optee_os/lib/libmbedtls/mbedtls/library/camellia.c
/optee_os/lib/libmbedtls/mbedtls/library/ccm.c
/optee_os/lib/libmbedtls/mbedtls/library/chacha20.c
/optee_os/lib/libmbedtls/mbedtls/library/chachapoly.c
/optee_os/lib/libmbedtls/mbedtls/library/check_crypto_config.h
/optee_os/lib/libmbedtls/mbedtls/library/cipher.c
/optee_os/lib/libmbedtls/mbedtls/library/cipher_wrap.c
/optee_os/lib/libmbedtls/mbedtls/library/cipher_wrap.h
/optee_os/lib/libmbedtls/mbedtls/library/cmac.c
/optee_os/lib/libmbedtls/mbedtls/library/common.h
/optee_os/lib/libmbedtls/mbedtls/library/constant_time.c
/optee_os/lib/libmbedtls/mbedtls/library/constant_time_internal.h
/optee_os/lib/libmbedtls/mbedtls/library/constant_time_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/ctr_drbg.c
/optee_os/lib/libmbedtls/mbedtls/library/debug.c
/optee_os/lib/libmbedtls/mbedtls/library/des.c
/optee_os/lib/libmbedtls/mbedtls/library/dhm.c
/optee_os/lib/libmbedtls/mbedtls/library/ecdh.c
/optee_os/lib/libmbedtls/mbedtls/library/ecdsa.c
/optee_os/lib/libmbedtls/mbedtls/library/ecjpake.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp_curves.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp_internal_alt.h
/optee_os/lib/libmbedtls/mbedtls/library/ecp_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/entropy.c
/optee_os/lib/libmbedtls/mbedtls/library/entropy_poll.c
/optee_os/lib/libmbedtls/mbedtls/library/entropy_poll.h
/optee_os/lib/libmbedtls/mbedtls/library/error.c
/optee_os/lib/libmbedtls/mbedtls/library/gcm.c
/optee_os/lib/libmbedtls/mbedtls/library/hash_info.c
/optee_os/lib/libmbedtls/mbedtls/library/hash_info.h
/optee_os/lib/libmbedtls/mbedtls/library/hkdf.c
/optee_os/lib/libmbedtls/mbedtls/library/hmac_drbg.c
/optee_os/lib/libmbedtls/mbedtls/library/lmots.c
/optee_os/lib/libmbedtls/mbedtls/library/lmots.h
/optee_os/lib/libmbedtls/mbedtls/library/lms.c
/optee_os/lib/libmbedtls/mbedtls/library/md.c
/optee_os/lib/libmbedtls/mbedtls/library/md5.c
/optee_os/lib/libmbedtls/mbedtls/library/md_wrap.h
/optee_os/lib/libmbedtls/mbedtls/library/memory_buffer_alloc.c
/optee_os/lib/libmbedtls/mbedtls/library/net_sockets.c
/optee_os/lib/libmbedtls/mbedtls/library/nist_kw.c
/optee_os/lib/libmbedtls/mbedtls/library/oid.c
/optee_os/lib/libmbedtls/mbedtls/library/padlock.c
/optee_os/lib/libmbedtls/mbedtls/library/padlock.h
/optee_os/lib/libmbedtls/mbedtls/library/pem.c
/optee_os/lib/libmbedtls/mbedtls/library/pk.c
/optee_os/lib/libmbedtls/mbedtls/library/pk_wrap.c
/optee_os/lib/libmbedtls/mbedtls/library/pk_wrap.h
/optee_os/lib/libmbedtls/mbedtls/library/pkcs12.c
/optee_os/lib/libmbedtls/mbedtls/library/pkcs5.c
/optee_os/lib/libmbedtls/mbedtls/library/pkcs7.c
/optee_os/lib/libmbedtls/mbedtls/library/pkparse.c
/optee_os/lib/libmbedtls/mbedtls/library/pkwrite.c
/optee_os/lib/libmbedtls/mbedtls/library/pkwrite.h
/optee_os/lib/libmbedtls/mbedtls/library/platform.c
/optee_os/lib/libmbedtls/mbedtls/library/platform_util.c
/optee_os/lib/libmbedtls/mbedtls/library/poly1305.c
/optee_os/lib/libmbedtls/mbedtls/library/ripemd160.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa_alt_helpers.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa_alt_helpers.h
/optee_os/lib/libmbedtls/mbedtls/library/sha1.c
/optee_os/lib/libmbedtls/mbedtls/library/sha256.c
/optee_os/lib/libmbedtls/mbedtls/library/sha512.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_cache.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_ciphersuites.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_client.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_client.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_cookie.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_debug_helpers.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_debug_helpers_generated.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_misc.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_msg.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_ticket.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls12_client.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls12_server.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_client.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_generic.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_keys.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_keys.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_server.c
/optee_os/lib/libmbedtls/mbedtls/library/threading.c
/optee_os/lib/libmbedtls/mbedtls/library/timing.c
/optee_os/lib/libmbedtls/mbedtls/library/version.c
/optee_os/lib/libmbedtls/mbedtls/library/version_features.c
/optee_os/lib/libmbedtls/mbedtls/library/x509.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_create.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_crl.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_crt.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_csr.c
/optee_os/lib/libmbedtls/mbedtls/library/x509write_crt.c
/optee_os/lib/libmbedtls/mbedtls/library/x509write_csr.c
/optee_os/lib/libmbedtls/sub.mk
/optee_os/lib/libutee/sub.mk
/optee_os/lib/libutee/tee_api_arith_mpi.c
ftrace/ftrace.c
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
78af2f1209-Oct-2023 Alvin Chang <alvinga@andestech.com>

libutils: fault_mitigation.h: Fix indentation

Indentation with tab instead of space.

Fixes: ce56605a0ede ("core: support fault mitigations in non-threaded code")
Signed-off-by: Alvin Chang <alvinga

libutils: fault_mitigation.h: Fix indentation

Indentation with tab instead of space.

Fixes: ce56605a0ede ("core: support fault mitigations in non-threaded code")
Signed-off-by: Alvin Chang <alvinga@andestech.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

ce56605a22-Sep-2023 Sichun Qin <sichun.qin@amlogic.com>

core: support fault mitigations in non-threaded code

Fault mitigation won't work in non-threaded code due to the following
error:
assertion 'ct >= 0 && ct < CFG_NUM_THREADS' failed at core/arch/arm/

core: support fault mitigations in non-threaded code

Fault mitigation won't work in non-threaded code due to the following
error:
assertion 'ct >= 0 && ct < CFG_NUM_THREADS' failed at core/arch/arm/kernel
/thread.c:799 <thread_get_id>

The problem is in __ftmn_get_tsd_func_arg_pp which calls thread_get_tsd
which thread_get_id. The reason is that the interrupt handler is not
associated with any thread, so the ct (current_thread_id) value is -1 which
would cause an assert problem.

The fix is to add ftmn_arg to thread_core_local and the new variable would
be used when the current thread is < 0.

Signed-off-by: Sichun Qin <sichun.qin@amlogic.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/thread_arch.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/link_dummies_paged.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/plat-imx/imx-regs.h
/optee_os/core/arch/arm/plat-imx/imx.h
/optee_os/core/arch/arm/plat-imx/registers/imx6.h
/optee_os/core/arch/arm/plat-imx/registers/imx7.h
/optee_os/core/arch/arm/plat-imx/registers/imx8m.h
/optee_os/core/arch/arm/plat-imx/sub.mk
/optee_os/core/arch/arm/plat-k3/conf.mk
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/arch/riscv/include/kernel/thread_arch.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/include/tee/entry_fast.h
/optee_os/core/arch/riscv/include/tee/optee_abi.h
/optee_os/core/arch/riscv/include/tee/teeabi_opteed.h
/optee_os/core/arch/riscv/include/tee/teeabi_opteed_macros.h
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_optee_abi.c
/optee_os/core/arch/riscv/kernel/thread_optee_abi_rv.S
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/plat-spike/platform_config.h
/optee_os/core/arch/riscv/tee/entry_fast.c
/optee_os/core/arch/riscv/tee/sub.mk
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/crypto/caam/blob/caam_dek.c
/optee_os/core/drivers/crypto/caam/blob/sub.mk
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_sm.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_sm.c
/optee_os/core/drivers/crypto/caam/hal/common/registers/sm_regs.h
/optee_os/core/drivers/crypto/caam/hal/common/sub.mk
/optee_os/core/drivers/crypto/caam/hal/imx_8m/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_defines.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_helper.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_ctrl.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_sm.h
/optee_os/core/drivers/crypto/caam/include/caam_sm.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/crypto/caam/utils/utils_dmaobj.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.c
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/imx_snvs.c
/optee_os/core/drivers/pm/imx/gpcv2.c
/optee_os/core/drivers/pm/imx/local.h
/optee_os/core/drivers/pm/imx/psci.c
/optee_os/core/drivers/pm/imx/src.c
/optee_os/core/drivers/pm/imx/sub.mk
/optee_os/core/drivers/pm/sub.mk
/optee_os/core/include/drivers/caam_extension.h
/optee_os/core/include/drivers/imx_snvs.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/embedded_ts.h
/optee_os/core/include/kernel/nv_counter.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/ts_manager.h
/optee_os/core/include/kernel/ts_store.h
/optee_os/core/include/kernel/user_access.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/tee/fs_dirfile.h
/optee_os/core/include/tee/fs_htree.h
/optee_os/core/include/tee/tadb.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/embedded_ts.c
/optee_os/core/kernel/ldelf_loader.c
/optee_os/core/kernel/ldelf_syscalls.c
/optee_os/core/kernel/nv_counter.c
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/scall.c
/optee_os/core/kernel/secstor_ta.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/tpm.c
/optee_os/core/kernel/user_access.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/imx/dek_blob.c
/optee_os/core/pta/imx/manufacturing_protection.c
/optee_os/core/pta/imx/sub.mk
/optee_os/core/pta/stats.c
/optee_os/core/pta/system.c
/optee_os/core/pta/tests/fs_htree.c
/optee_os/core/tee/fs_dirfile.c
/optee_os/core/tee/fs_htree.c
/optee_os/core/tee/sub.mk
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_ree_fs.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/lib/libutee/include/pta_imx_dek_blob.h
include/fault_mitigation.h
/optee_os/lib/libutils/isoc/include/assert.h
/optee_os/mk/config.mk
/optee_os/scripts/sign_rproc_fw.py
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/attributes.c
/optee_os/ta/pkcs11/src/object.c
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/src/pkcs11_attributes.h
/optee_os/ta/pkcs11/src/pkcs11_helpers.c
/optee_os/ta/pkcs11/src/processing_ec.c
/optee_os/ta/ta.mk
7bd4f9b201-Sep-2023 Jens Wiklander <jens.wiklander@linaro.org>

libutils: mempool: fix unbalanced put_pool()

Prior to this patch mempool_free() unconditionally called put_pool(),
but if the "ptr" argument is NULL it means that there hasn't been a
corresponding c

libutils: mempool: fix unbalanced put_pool()

Prior to this patch mempool_free() unconditionally called put_pool(),
but if the "ptr" argument is NULL it means that there hasn't been a
corresponding call to get_pool(). Fix this only calling put_pool() for
non-NULL pointers.

Fixes: a51d45b52503 ("libutils: mempool based raw malloc functions")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

2a8dfb4523-Aug-2023 Jerome Forissier <jerome.forissier@linaro.org>

compiler.h: add __inhibit_loop_to_libcall

Introduce __inhibit_loop_to_libcall which allows to disable a specific
compiler optimization that detects and replaces some open coded loops
with standard l

compiler.h: add __inhibit_loop_to_libcall

Introduce __inhibit_loop_to_libcall which allows to disable a specific
compiler optimization that detects and replaces some open coded loops
with standard library calls (typically: memcpy() and memset()).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/thread_private_arch.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_spmc_a64.S
/optee_os/core/arch/arm/plat-aspeed/platform_ast2600.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2700.c
/optee_os/core/arch/arm/plat-bcm/conf.mk
/optee_os/core/arch/arm/plat-bcm/main.c
/optee_os/core/arch/arm/plat-corstone1000/main.c
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-imx/pm/cpuidle-imx7d.c
/optee_os/core/arch/arm/plat-imx/pm/imx7_suspend.c
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-marvell/main.c
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-nuvoton/conf.mk
/optee_os/core/arch/arm/plat-nuvoton/main.c
/optee_os/core/arch/arm/plat-rcar/main.c
/optee_os/core/arch/arm/plat-rockchip/main.c
/optee_os/core/arch/arm/plat-rzn1/main.c
/optee_os/core/arch/arm/plat-sam/freq.c
/optee_os/core/arch/arm/plat-sam/main.c
/optee_os/core/arch/arm/plat-sprd/main.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-synquacer/main.c
/optee_os/core/arch/arm/plat-ti/a9_plat_init.S
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-totalcompute/main.c
/optee_os/core/arch/arm/plat-uniphier/main.c
/optee_os/core/arch/arm/plat-versal/main.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/mm/core_mmu_arch.c
/optee_os/core/arch/riscv/mm/sub.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/crypto/caam/cipher/caam_cipher_mac.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg.c
/optee_os/core/drivers/crypto/caam/mp/caam_mp.c
/optee_os/core/drivers/crypto/caam/utils/utils_dmaobj.c
/optee_os/core/drivers/crypto/crypto_api/acipher/dh.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsamgf.c
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt.h
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_acipher.h
/optee_os/core/drivers/crypto/se050/core/storage.c
/optee_os/core/drivers/crypto/se050/glue/i2c_stm32.c
/optee_os/core/drivers/crypto/stm32/authenc.c
/optee_os/core/drivers/crypto/stm32/cipher.c
/optee_os/core/drivers/crypto/stm32/common.h
/optee_os/core/drivers/crypto/stm32/crypto.mk
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.h
/optee_os/core/drivers/crypto/stm32/sub.mk
/optee_os/core/drivers/imx/mu/imx_mu.c
/optee_os/core/drivers/imx/mu/imx_mu_8q.c
/optee_os/core/drivers/imx/mu/imx_mu_8ulp.c
/optee_os/core/drivers/imx/mu/imx_mu_platform.h
/optee_os/core/drivers/ls_dspi.c
/optee_os/core/drivers/ls_sfp.c
/optee_os/core/drivers/plic.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_uart.c
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/ls_dspi.h
/optee_os/core/include/drivers/plic.h
/optee_os/core/include/drivers/stm32_bsec.h
/optee_os/core/include/drivers/stm32_gpio.h
/optee_os/core/include/drivers/stm32_i2c.h
/optee_os/core/include/drivers/stm32_uart.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/huk_subkey.h
/optee_os/core/include/kernel/pseudo_ta.h
/optee_os/core/include/kernel/user_access.h
/optee_os/core/include/tee/fs_dirfile.h
/optee_os/core/include/tee/tee_fs.h
/optee_os/core/include/tee/tee_supp_plugin_rpc.h
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/huk_subkey.c
/optee_os/core/kernel/ldelf_loader.c
/optee_os/core/kernel/pseudo_ta.c
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/user_access.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/x25519.c
/optee_os/core/lib/scmi-server/conf-optee-fvp.mk
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/pta/attestation.c
/optee_os/core/pta/system.c
/optee_os/core/tee/entry_std.c
/optee_os/core/tee/fs_dirfile.c
/optee_os/core/tee/socket.c
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_ree_fs.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/core/tee/tee_supp_plugin_rpc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/lib/libutee/include/user_ta_header.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/tee_api.c
/optee_os/lib/libutee/tee_api_property.c
include/compiler.h
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/mk/aosp_optee.mk
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
546e296f04-Jul-2023 Jens Wiklander <jens.wiklander@linaro.org>

libutils: add {high,low}32_from_64() helper

Adds two helper functions high32_from_64() and low32_from_64() used for
retrieving the upper and lower halves of a uint64_t.

Signed-off-by: Jens Wiklande

libutils: add {high,low}32_from_64() helper

Adds two helper functions high32_from_64() and low32_from_64() used for
retrieving the upper and lower halves of a uint64_t.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/Makefile
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/arm64_macros.S
/optee_os/core/arch/arm/include/kernel/user_access_arch.h
/optee_os/core/arch/arm/kernel/arch_scall.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/riscv/include/kernel/user_access_arch.h
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/crypto/caam/acipher/caam_dh.c
/optee_os/core/drivers/crypto/caam/acipher/caam_dsa.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/se050/core/rsa.c
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/kernel/ldelf_loader.h
/optee_os/core/include/kernel/user_access.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/kernel/ldelf_loader.c
/optee_os/core/kernel/scall.c
/optee_os/core/kernel/user_access.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/dh.c
/optee_os/core/lib/libtomcrypt/dsa.c
/optee_os/core/lib/libtomcrypt/ecc.c
/optee_os/core/lib/libtomcrypt/mpi_desc.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/pta/system.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/lib/libmbedtls/core/bignum.c
/optee_os/lib/libmbedtls/core/dh.c
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/rsa.c
include/util.h
/optee_os/mk/config.mk
5c2c0fb314-Jun-2023 Jerome Forissier <jerome.forissier@linaro.org>

ftrace: change implementation to use binary circular buffer

The current implementation of function tracing (CFG_FTRACE_SUPPORT)
produces human-readable text into the output buffer that is passed to

ftrace: change implementation to use binary circular buffer

The current implementation of function tracing (CFG_FTRACE_SUPPORT)
produces human-readable text into the output buffer that is passed to
tee-supplicant and ultimately saved to the Linux filesystem. Two main
issues with that:

1. The string formatting code is somewhat complex. It introduces
significant overhead in the execution time of the instrumented
functions.
2. The various policies about how to handle a buffer full condition
(CFG_FTRACE_BUF_WHEN_FULL) are not very convenient. In particular,
"shift" is typically the most desirable option because it always
keeps the most recent entries, but it is very inefficient to the
point of not being usable in practice.

This commit addresses the above concerns by making the ftrace buffer
circular one, each entry being 64-bit value. The formatting code is
offloaded to a new Python script: scripts/ftrace_format.py. The
output is unchanged except for an added field showing the current
depth in the call stack.

Typical usage (captured on QEMUv8):

build$ mkdir -p ../tmp
build$ chmod a+w ../tmp
build$ make CFG_FTRACE_SUPPORT=y CFG_FTRACE_BUF_SIZE=15000 \
CFG_TA_MCOUNT=y CFG_ULIBS_MCOUNT=y CFG_SYSCALL_FTRACE=y \
QEMU_VIRTFS_AUTOMOUNT=y run
$ xtest regression_1004
...
$ cp /tmp/ftrace-cb3e5ba0-adf1-11e0-998b-0002a5d5c51b.out /mnt/host/tmp
build$ cd ..
optee$ optee_os/scripts/ftrace_format.py \
tmp/ftrace-cb3e5ba0-adf1-11e0-998b-0002a5d5c51b.out |
optee_os/scripts/symbolize.py \
-d optee_os/out/arm/core \
-d out-br/build/optee_test_ext-1.0/ta/*/out | less
TEE load address @ 0x5ab04000
Function graph for TA: cb3e5ba0-adf1-11e0-998b-0002a5d5c51b @ 80085000
| 1 | __ta_entry() {
| 2 | __utee_entry() {
43.840 us | 3 | ta_header_get_session()
7.216 us | 3 | tahead_get_trace_level()
14.480 us | 3 | trace_set_level()
| 3 | malloc_add_pool() {
| 4 | raw_malloc_add_pool() {
46.032 us | 5 | bpool()
| 5 | raw_realloc() {
166.256 us | 6 | bget()
23.056 us | 6 | raw_malloc_return_hook()
267.952 us | 5 | }
398.720 us | 4 | }
426.992 us | 3 | }
| 3 | TEE_GetPropertyAsU32() {
23.600 us | 4 | is_propset_pseudo_handle()
| 4 | __utee_check_instring_annotation() {
26.416 us | 5 | strlen()
| 5 | check_access() {
| 6 | TEE_CheckMemoryAccessRights() {
| 7 | _utee_check_access_rights() {
| 8 | syscall_check_access_rights() {
| 9 | ts_get_current_session() {
4.304 us | 10 | ts_get_current_session_may_fail()
10.976 us | 9 | }
| 9 | to_user_ta_ctx() {
2.496 us | 10 | is_user_ta_ctx()
8.096 us | 9 | }
| 9 | vm_check_access_rights() {
| 10 | vm_buf_is_inside_um_private() {
| 11 | core_is_buffer_inside() {
...

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

b59abd2320-Jun-2023 Alvin Chang <alvinga@andestech.com>

libutils: ftrace: Add definitions for separating architectural headers

Add definitions for separating architectural headers. In kernel mode,
risc-v may include riscv.h to have the timer related func

libutils: ftrace: Add definitions for separating architectural headers

Add definitions for separating architectural headers. In kernel mode,
risc-v may include riscv.h to have the timer related functions. In TA
libraries, risc-v may include riscv_user_sysreg.h to have those
functions.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>

show more ...

ae9b3ff920-Jun-2023 Alvin Chang <alvinga@andestech.com>

libutils: riscv: Implement _mount() and __ftrace_return()

When the core and TA are compiled with the -pg option, the compiler
inserts a call to _mcount() into every function prologue. It can be used

libutils: riscv: Implement _mount() and __ftrace_return()

When the core and TA are compiled with the -pg option, the compiler
inserts a call to _mcount() into every function prologue. It can be used
to trace the function calls such as ftrace.

Implement the _mount() to prepare the necessary parameters for ftrace.
The __ftrace_return() is also implemented for returning from ftrace.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>

show more ...

97a70d2820-Jun-2023 Alvin Chang <alvinga@andestech.com>

libutils: Add riscv.S to make it available for core and TA libs

Some assembly macros are necessary for both OP-TEE core and TA
libraries. Therefore, we add riscv specific assembly file into libutils

libutils: Add riscv.S to make it available for core and TA libs

Some assembly macros are necessary for both OP-TEE core and TA
libraries. Therefore, we add riscv specific assembly file into libutils
and move some assembly related macros from riscv.h to riscv.S.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/dts/stm32mp13-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp131.dtsi
/optee_os/core/arch/arm/dts/stm32mp135.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/optee_os/core/arch/arm/dts/stm32mp13xc.dtsi
/optee_os/core/arch/arm/dts/stm32mp13xf.dtsi
/optee_os/core/arch/arm/dts/stm32mp15-pinctrl.dtsi
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/spmc_sp_handler.h
/optee_os/core/arch/arm/include/kernel/thread_spmc.h
/optee_os/core/arch/arm/include/kernel/tlb_helpers.h
/optee_os/core/arch/arm/include/mm/core_mmu_arch.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/cache_helpers_a64.S
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a32.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/thread_spmc_a64.S
/optee_os/core/arch/arm/kernel/tlb_helpers_a32.S
/optee_os/core/arch/arm/kernel/tlb_helpers_a64.S
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-aspeed/conf.mk
/optee_os/core/arch/arm/plat-aspeed/platform_ast2600.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2700.c
/optee_os/core/arch/arm/plat-aspeed/platform_config.h
/optee_os/core/arch/arm/plat-aspeed/sub.mk
/optee_os/core/arch/arm/plat-bcm/main.c
/optee_os/core/arch/arm/plat-corstone1000/main.c
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci.c
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci.h
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci_protocol.h
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-marvell/main.c
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-nuvoton/conf.mk
/optee_os/core/arch/arm/plat-nuvoton/main.c
/optee_os/core/arch/arm/plat-nuvoton/platform_config.h
/optee_os/core/arch/arm/plat-nuvoton/sub.mk
/optee_os/core/arch/arm/plat-rcar/main.c
/optee_os/core/arch/arm/plat-rockchip/main.c
/optee_os/core/arch/arm/plat-rzn1/main.c
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/main.c
/optee_os/core/arch/arm/plat-sprd/main.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pwr.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_syscfg.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-synquacer/main.c
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-totalcompute/main.c
/optee_os/core/arch/arm/plat-uniphier/main.c
/optee_os/core/arch/arm/plat-versal/main.c
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/kernel/abort.c
/optee_os/core/arch/riscv/kernel/arch_scall.c
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/kernel/unwind_rv.c
/optee_os/core/arch/riscv/mm/tlb_helpers_rv.S
/optee_os/core/arch/riscv/plat-virt/conf.mk
/optee_os/core/arch/riscv/plat-virt/main.c
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/atmel_saic.c
/optee_os/core/drivers/clk/clk-stm32-core.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/sam/at91_clk.h
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/gpio/gpio.c
/optee_os/core/drivers/hfic.c
/optee_os/core/drivers/i2c/atmel_i2c.c
/optee_os/core/drivers/imx_ele.c
/optee_os/core/drivers/pinctrl/atmel_pio.c
/optee_os/core/drivers/pinctrl/pinctrl.c
/optee_os/core/drivers/pinctrl/sub.mk
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_etzpc.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/atmel_saic.h
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/drivers/gpio.h
/optee_os/core/include/drivers/hfic.h
/optee_os/core/include/drivers/i2c.h
/optee_os/core/include/drivers/pinctrl.h
/optee_os/core/include/drivers/rstctrl.h
/optee_os/core/include/drivers/stm32_etzpc.h
/optee_os/core/include/drivers/stm32_gpio.h
/optee_os/core/include/dt-bindings/clock/stm32mp13-clks.h
/optee_os/core/include/dt-bindings/regulator/st,stm32mp13-regulator.h
/optee_os/core/include/dt-bindings/rtc/rtc-stm32.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/thread.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/mobj.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/interrupt.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/thread.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/tests/dt_driver_test.c
/optee_os/core/pta/tests/sub.mk
/optee_os/keys/default.pem
/optee_os/keys/default_ta.pem
/optee_os/ldelf/main.c
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/lib/libunw/include/unw/unwind.h
/optee_os/lib/libunw/sub.mk
/optee_os/lib/libunw/unwind_arm64.c
/optee_os/lib/libunw/unwind_riscv.c
/optee_os/lib/libutee/arch/riscv/utee_syscalls_rv.S
include/asm.S
include/riscv.S
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/mk/aosp_optee.mk
/optee_os/mk/config.mk
/optee_os/scripts/symbolize.py
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/pkcs11/src/handle.c
/optee_os/ta/pkcs11/src/handle.h
/optee_os/ta/pkcs11/src/object.c
/optee_os/ta/pkcs11/src/pkcs11_token.c
/optee_os/ta/pkcs11/src/pkcs11_token.h
/optee_os/ta/pkcs11/src/processing.h
/optee_os/ta/ta.mk
750c544c17-May-2023 Yuegui He <yuegui.he@amlogic.com>

libutils: Disable stack protector for __aeabi_uidivmod/__aeabi_idivmod

Some toolchain build optee_os with "-fstack-protector-strong",
But the generated codes add "check stack" operations after the
"

libutils: Disable stack protector for __aeabi_uidivmod/__aeabi_idivmod

Some toolchain build optee_os with "-fstack-protector-strong",
But the generated codes add "check stack" operations after the
"ret_idivmod_values", which overwrite the r1 value.

So __aeabi_uidivmod/__aeabi_idivmod will got error value,

Link: https://github.com/OP-TEE/optee_os/issues/6007
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Yuegui He <yuegui.he@amlogic.com>

show more ...


/optee_os/.clang-format
/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/dt_driver_test.dtsi
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/mm/generic_ram_layout.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies_init.c
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/plat-rzn1/platform_config.h
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/nsec-service/sm_platform_handler.c
/optee_os/core/arch/arm/plat-sam/nsec-service/smc_ids.h
/optee_os/core/arch/arm/plat-sam/scmi_server.c
/optee_os/core/arch/arm/plat-sam/sub.mk
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/clk/sam/at91_clk.h
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/clk/sam/at91_sckc.c
/optee_os/core/drivers/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/gpio/gpio.c
/optee_os/core/drivers/gpio/sub.mk
/optee_os/core/drivers/ls_gpio.c
/optee_os/core/drivers/scmi-msg/clock_generic.c
/optee_os/core/drivers/scmi-msg/sub.mk
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/versal_gpio.c
/optee_os/core/include/drivers/bcm_gpio.h
/optee_os/core/include/drivers/gpio.h
/optee_os/core/include/drivers/ls_gpio.h
/optee_os/core/include/drivers/pl022_spi.h
/optee_os/core/include/drivers/pl061_gpio.h
/optee_os/core/include/drivers/scmi-msg.h
/optee_os/core/include/drivers/versal_gpio.h
/optee_os/core/include/dt-bindings/clock/at91.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/thread_private.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/dt_driver_test.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/lib/libutee/include/elf.h
include/compiler.h
/optee_os/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod.c
/optee_os/mk/cc-option.mk
/optee_os/mk/compile.mk
/optee_os/mk/config.mk
9fee17aa23-Jan-2023 Etienne Carriere <etienne.carriere@linaro.org>

libutils: add bit_ffs_from()

Adds bitstring function bit_ffs_from() that mimics bit_ffs() but looks
from a start bit position given as argument, and defines bit_ffs()
based on bit_ffs_from().

Revie

libutils: add bit_ffs_from()

Adds bitstring function bit_ffs_from() that mimics bit_ffs() but looks
from a start bit position given as argument, and defines bit_ffs()
based on bit_ffs_from().

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/core/arch/arm/crypto/sha3_armv8a_ce.c
/optee_os/core/arch/arm/crypto/sha3_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/sm4_armv8a_aese_a64.S
/optee_os/core/arch/arm/crypto/sm4_armv8a_ce.c
/optee_os/core/arch/arm/crypto/sm4_armv8a_ce.h
/optee_os/core/arch/arm/crypto/sm4_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/sm4_armv8a_neon.c
/optee_os/core/arch/arm/crypto/sm4_armv8a_neon.h
/optee_os/core/arch/arm/crypto/sub.mk
/optee_os/core/arch/arm/dts/at91-sama5d27_wlsom1.dtsi
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/dts/stm32mp157a-dk1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dk2.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/mm/core_mmu_arch.h
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies_paged.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-hisilicon/psci.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/config/imx6qdlsolo.h
/optee_os/core/arch/arm/plat-imx/config/imx6sl.h
/optee_os/core/arch/arm/plat-imx/config/imx6sll.h
/optee_os/core/arch/arm/plat-imx/config/imx6sx.h
/optee_os/core/arch/arm/plat-imx/link.mk
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-imx/platform_config.h
/optee_os/core/arch/arm/plat-imx/pm/psci.c
/optee_os/core/arch/arm/plat-imx/registers/imx8ulp.h
/optee_os/core/arch/arm/plat-imx/registers/imx93.h
/optee_os/core/arch/arm/plat-imx/sm_platform_handler.c
/optee_os/core/arch/arm/plat-imx/sub.mk
/optee_os/core/arch/arm/plat-imx/tzc380.c
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-rcar/romapi_call.S
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/matrix.c
/optee_os/core/arch/arm/plat-sam/matrix.h
/optee_os/core/arch/arm/plat-sam/sam_sfr.c
/optee_os/core/arch/arm/plat-sam/sama5d2.h
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-sunxi/psci.c
/optee_os/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
/optee_os/core/arch/arm/plat-totalcompute/platform_config.h
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-vexpress/platform_config.h
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/arch/riscv/include/encoding.h
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/kern.ld.S
/optee_os/core/arch/riscv/mm/tlb_helpers_rv.S
/optee_os/core/crypto.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/crypto/sm4_accel.c
/optee_os/core/crypto/sub.mk
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/atmel_rstc.c
/optee_os/core/drivers/atmel_rtc.c
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/atmel_tcb.c
/optee_os/core/drivers/atmel_trng.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/cbmem_console.c
/optee_os/core/drivers/clk/clk-stm32mp13.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/acipher/sub.mk
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_jr.c
/optee_os/core/drivers/crypto/caam/caam_pwr.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg_dt.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/imx_8m/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/include/caam_acipher.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_defines.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_ctrl.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_jr.h
/optee_os/core/drivers/crypto/caam/include/caam_mp.h
/optee_os/core/drivers/crypto/caam/include/caam_status.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/mp/caam_mp.c
/optee_os/core/drivers/crypto/caam/mp/sub.mk
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/crypto/caam/utils/utils_status.c
/optee_os/core/drivers/crypto/crypto_api/acipher/ecc.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsassa.c
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_acipher.h
/optee_os/core/drivers/crypto/se050/adaptors/apis/sss.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/crypto/stm32/authenc.c
/optee_os/core/drivers/crypto/stm32/cipher.c
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/drivers/i2c/atmel_i2c.c
/optee_os/core/drivers/i2c/i2c.c
/optee_os/core/drivers/i2c/sub.mk
/optee_os/core/drivers/imx/dcp/dcp.c
/optee_os/core/drivers/imx/mu/sub.mk
/optee_os/core/drivers/imx_caam.c
/optee_os/core/drivers/imx_csu.c
/optee_os/core/drivers/imx_ele.c
/optee_os/core/drivers/imx_i2c.c
/optee_os/core/drivers/imx_lpuart.c
/optee_os/core/drivers/imx_scu.c
/optee_os/core/drivers/imx_uart.c
/optee_os/core/drivers/imx_wdog.c
/optee_os/core/drivers/ls_dspi.c
/optee_os/core/drivers/pl011.c
/optee_os/core/drivers/pm/sam/at91_pm.c
/optee_os/core/drivers/rstctrl/rstctrl.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/serial8250_uart.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_etzpc.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_iwdg.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/stm32_tamp.c
/optee_os/core/drivers/stm32_uart.c
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/tzc380.c
/optee_os/core/drivers/xiphera_trng.c
/optee_os/core/drivers/zynqmp_csu_aes.c
/optee_os/core/drivers/zynqmp_csu_puf.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/crypto/crypto_accel.h
/optee_os/core/include/drivers/caam_extension.h
/optee_os/core/include/drivers/cbmem_console.h
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/i2c.h
/optee_os/core/include/drivers/imx_mu.h
/optee_os/core/include/drivers/rstctrl.h
/optee_os/core/include/dt-bindings/clock/at91.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/linker.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/kernel/console.c
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/dt_driver_test.c
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/thread.c
/optee_os/core/lib/libtomcrypt/ed25519.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/sha3_accel.c
/optee_os/core/lib/libtomcrypt/src/hashes/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/libtomcrypt/tomcrypt.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/fobj.c
/optee_os/core/pta/attestation.c
/optee_os/core/pta/imx/manufacturing_protection.c
/optee_os/core/pta/imx/sub.mk
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/ldelf/ldelf.mk
/optee_os/ldelf/sub.mk
/optee_os/ldelf/syscalls_rv.S
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libutee/arch/arm/sub.mk
/optee_os/lib/libutee/include/pta_imx_manufacturing_protection.h
/optee_os/lib/libutee/include/tee_api_defines_extensions.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/sub.mk
/optee_os/lib/libutee/tcb.c
/optee_os/lib/libutee/tee_api_arith_mpi.c
/optee_os/lib/libutee/tee_api_operations.c
/optee_os/lib/libutee/user_ta_entry.c
/optee_os/lib/libutee/user_ta_entry_compat.c
include/bitstring.h
/optee_os/mk/config.mk
/optee_os/mk/lib.mk
/optee_os/ta/arch/riscv/ta.ld.S
/optee_os/ta/link.mk
/optee_os/ta/link_shlib.mk
/optee_os/ta/mk/build-user-ta.mk
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/entry.c
/optee_os/ta/pkcs11/src/pkcs11_token.c
/optee_os/ta/ta.mk
/optee_os/ta/user_ta_header.c
a263637d10-Feb-2023 Jerome Forissier <jerome.forissier@linaro.org>

libutils: add stubs for pthread functions

When building with GCC 11.3.1 [1], the linker reports undefined symbols
in the C++ test TA:

$ make 2>&1 | grep -E "(in function|undefined reference)" | se

libutils: add stubs for pthread functions

When building with GCC 11.3.1 [1], the linker reports undefined symbols
in the C++ test TA:

$ make 2>&1 | grep -E "(in function|undefined reference)" | sed 's@.*/@@'
libstdc++.a(eh_alloc.o): in function `(anonymous namespace)::pool::free(void*) [clone .constprop.0]':
gthr-default.h:749: undefined reference to `pthread_mutex_lock'
gthr-default.h:779: undefined reference to `pthread_mutex_unlock'
libstdc++.a(eh_alloc.o): in function `(anonymous namespace)::pool::allocate(unsigned long) [clone .constprop.0]':
gthr-default.h:749: undefined reference to `pthread_mutex_lock'
gthr-default.h:779: undefined reference to `pthread_mutex_unlock'
libgcc_eh.a(unwind-dw2-fde-dip.o): in function `__gthread_mutex_lock':
gthr-default.h:749: undefined reference to `pthread_mutex_lock'
libgcc_eh.a(unwind-dw2-fde-dip.o): in function `__gthread_mutex_unlock':
gthr-default.h:779: undefined reference to `pthread_mutex_unlock'
[more of the same follow]

To fix that issue, introduce no-op stubs as weak symbols in libutils.
Doing so is valid because TAs are single threaded and non-reentrant.

Link: [1] https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>

show more ...

b76b229603-Feb-2023 Jerome Forissier <jerome.forissier@linaro.org>

virt: rename CFG_VIRTUALIZATION to CFG_NS_VIRTUALIZATION

With the advent of virtualization support at S-EL2 in the Armv8.4-A
architecture, CFG_VIRTUALIZATION has become ambiguous. Let's rename
it to

virt: rename CFG_VIRTUALIZATION to CFG_NS_VIRTUALIZATION

With the advent of virtualization support at S-EL2 in the Armv8.4-A
architecture, CFG_VIRTUALIZATION has become ambiguous. Let's rename
it to CFG_NS_VIRTUALIZATION to indicate more clearly that it is about
supporting virtualization on the non-secure side.

This commit is the result of the following command:

$ for f in $(git grep -l -w CFG_VIRTUALIZATION); do \
sed -i -e 's/CFG_VIRTUALIZATION/CFG_NS_VIRTUALIZATION/g' $f; \
done

...plus the compatibility line in mk/config.mk:

CFG_NS_VIRTUALIZATION ?= $(CFG_VIRTUALIZATION)

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/at91-sama5d27_wlsom1.dtsi
/optee_os/core/arch/arm/dts/at91-sama5d27_wlsom1_ek.dts
/optee_os/core/arch/arm/dts/stm32mp13-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp131.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/optee_os/core/arch/arm/include/hafnium.h
/optee_os/core/arch/arm/include/kernel/arch_scall.h
/optee_os/core/arch/arm/include/kernel/stmm_sp.h
/optee_os/core/arch/arm/include/kernel/thread_arch.h
/optee_os/core/arch/arm/include/kernel/thread_private_arch.h
/optee_os/core/arch/arm/kernel/arch_scall.c
/optee_os/core/arch/arm/kernel/arch_scall_a32.S
/optee_os/core/arch/arm/kernel/arch_scall_a64.S
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-versal/conf.mk
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/arm/tee/sub.mk
/optee_os/core/arch/riscv/include/kernel/arch_scall.h
/optee_os/core/arch/riscv/include/kernel/stmm_sp.h
/optee_os/core/arch/riscv/include/kernel/thread_arch.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/include/riscv_macros.S
/optee_os/core/arch/riscv/kernel/abort.c
/optee_os/core/arch/riscv/kernel/arch_scall.c
/optee_os/core/arch/riscv/kernel/arch_scall_rv.S
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/cache_helpers_rv.S
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/plat-spike/conf.mk
/optee_os/core/crypto.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/crypto/caam/acipher/caam_math.c
/optee_os/core/drivers/crypto/caam/utils/utils_delay.c
/optee_os/core/drivers/crypto/crypto_api/acipher/ecc.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsassa.c
/optee_os/core/drivers/crypto/crypto_api/cipher/cipher.c
/optee_os/core/drivers/crypto/crypto_api/hash/hash.c
/optee_os/core/drivers/crypto/se050/adaptors/utils/utils.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/versal/crypto.mk
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/drivers/crypto/versal/rsa.c
/optee_os/core/drivers/hfic.c
/optee_os/core/drivers/ls_sfp.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/crypto/crypto_impl.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/drivers/hfic.h
/optee_os/core/include/drivers/ls_sfp.h
/optee_os/core/include/kernel/scall.h
/optee_os/core/include/kernel/ts_manager.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/kernel/ldelf_loader.c
/optee_os/core/kernel/scall.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/thread.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/ecc.c
/optee_os/core/lib/libtomcrypt/hash.c
/optee_os/core/lib/libtomcrypt/hmac.c
/optee_os/core/lib/libtomcrypt/shake.c
/optee_os/core/lib/libtomcrypt/src/hashes/sub.mk
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/libtomcrypt/tomcrypt.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/pta/bcm/wdt.c
/optee_os/core/pta/device.c
/optee_os/core/pta/imx/digprog.c
/optee_os/core/pta/imx/ocotp.c
/optee_os/core/pta/imx/sub.mk
/optee_os/core/pta/stats.c
/optee_os/core/pta/sub.mk
/optee_os/core/pta/tests/invoke.c
/optee_os/core/pta/tests/misc.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/ldelf/include/ldelf.h
/optee_os/ldelf/main.c
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/lib/libutee/arch/arm/sub.mk
/optee_os/lib/libutee/arch/arm/user_ta_entry.c
/optee_os/lib/libutee/arch/arm/user_ta_entry_compat.c
/optee_os/lib/libutee/include/pta_imx_digprog.h
/optee_os/lib/libutee/include/pta_imx_ocotp.h
/optee_os/lib/libutee/include/tee_api_compat.h
/optee_os/lib/libutee/include/tee_api_defines.h
/optee_os/lib/libutee/include/tee_api_defines_extensions.h
/optee_os/lib/libutee/include/tee_api_types.h
/optee_os/lib/libutee/include/tee_internal_api.h
/optee_os/lib/libutee/include/user_ta_header.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/tee_api.c
/optee_os/lib/libutee/tee_api_arith_mpi.c
/optee_os/lib/libutee/tee_api_objects.c
/optee_os/lib/libutee/tee_api_operations.c
/optee_os/lib/libutee/tee_api_panic.c
/optee_os/lib/libutee/tee_api_private.h
/optee_os/lib/libutee/tee_api_property.c
include/compiler.h
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/malloc.h
/optee_os/mk/compile.mk
/optee_os/mk/config.mk
/optee_os/scripts/checkpatch.sh
/optee_os/scripts/ts_bin_to_c.py
/optee_os/ta/arch/arm/user_ta_header.c
/optee_os/ta/avb/entry.c
/optee_os/ta/pkcs11/src/persistent_token.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.c
/optee_os/ta/pkcs11/src/processing.c
/optee_os/ta/pkcs11/src/processing_asymm.c
/optee_os/ta/pkcs11/src/processing_digest.c
/optee_os/ta/pkcs11/src/processing_symm.c
/optee_os/ta/ta.mk
/optee_os/ta/trusted_keys/entry.c
3de5947c09-Jan-2023 Marouene Boubakri <marouene.boubakri@nxp.com>

libutils: riscv: provide atomic_rv.S

Implement atomic_inc32() and atomic_dec32() in atomic_rv.S.
The implementation is based on atomic addition instruction
with acquire and release suffix to add add

libutils: riscv: provide atomic_rv.S

Implement atomic_inc32() and atomic_dec32() in atomic_rv.S.
The implementation is based on atomic addition instruction
with acquire and release suffix to add additional memory
order constraints.

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/Makefile
/optee_os/core/arch/arm/include/scmi/scmi_server.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/plat-k3/platform_config.h
/optee_os/core/arch/arm/plat-mediatek/conf.mk
/optee_os/core/arch/arm/plat-mediatek/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-versal/conf.mk
/optee_os/core/arch/arm/plat-versal/main.c
/optee_os/core/arch/arm/plat-versal/platform_config.h
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/core.mk
/optee_os/core/drivers/crypto/se050/adaptors/apis/sss.c
/optee_os/core/drivers/rstctrl/rstctrl.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/versal_huk.c
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/rstctrl.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/notif.c
/optee_os/core/lib/libtomcrypt/ecc.c
/optee_os/core/lib/scmi-server/conf-optee-fvp.mk
/optee_os/core/lib/scmi-server/conf-optee-stm32mp1.mk
/optee_os/core/lib/scmi-server/conf.mk
/optee_os/core/lib/scmi-server/include/optee_scmi.h
/optee_os/core/lib/scmi-server/scmi_server.c
/optee_os/core/lib/scmi-server/sub-optee-fvp.mk
/optee_os/core/lib/scmi-server/sub-optee-stm32mp1.mk
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/pta/scmi.c
/optee_os/lib/libutee/include/pta_scmi_client.h
/optee_os/lib/libutee/include/pta_stm32mp_bsec.h
arch/riscv/atomic_rv.S
arch/riscv/sub.mk
/optee_os/lib/libutils/isoc/arch/riscv/setjmp_rv.S
/optee_os/lib/libutils/isoc/arch/riscv/sub.mk
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/setjmp.h
/optee_os/mk/config.mk
d1a015fe08-Dec-2022 Etienne Carriere <etienne.carriere@linaro.org>

libutils: IS_ENABLED2() for _CFG_* switches

Adds macro IS_ENABLED2() to be used for OP-TEE OS internal _CFG_*
configuration switches to not conflict with IS_ENABLED() coding style
rules inherited fr

libutils: IS_ENABLED2() for _CFG_* switches

Adds macro IS_ENABLED2() to be used for OP-TEE OS internal _CFG_*
configuration switches to not conflict with IS_ENABLED() coding style
rules inherited from Linux kernel coding style.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/crypto/sha512_armv8a_ce.c
/optee_os/core/arch/arm/crypto/sha512_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/sm3_armv8a_ce.c
/optee_os/core/arch/arm/crypto/sm3_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/sub.mk
/optee_os/core/arch/arm/dts/at91-sama5d27_som1.dtsi
/optee_os/core/arch/arm/dts/at91-sama5d27_som1_ek.dts
/optee_os/core/arch/arm/dts/at91-sama5d2_xplained.dts
/optee_os/core/arch/arm/dts/fsl-lx2160a.dtsi
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/dts/stm32mp131.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/optee_os/core/arch/arm/dts/stm32mp151.dtsi
/optee_os/core/arch/arm/include/kernel/delay_arch.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/plat-d06/conf.mk
/optee_os/core/arch/arm/plat-d06/main.c
/optee_os/core/arch/arm/plat-d06/platform_config.h
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/nsec-service/stm32mp1_smc.h
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
/optee_os/core/arch/arm/plat-versal/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/riscv/include/kernel/clint.h
/optee_os/core/arch/riscv/include/kernel/delay_arch.h
/optee_os/core/arch/riscv/include/kernel/time.h
/optee_os/core/arch/riscv/kernel/kern.ld.S
/optee_os/core/arch/riscv/kernel/link.mk
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/tee_time_rdtime.c
/optee_os/core/arch/riscv/plat-spike/conf.mk
/optee_os/core/arch/riscv/plat-virt/conf.mk
/optee_os/core/arch/riscv/plat-virt/main.c
/optee_os/core/arch/riscv/plat-virt/platform_config.h
/optee_os/core/arch/riscv/plat-virt/sub.mk
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/arch/riscv/tee/sub.mk
/optee_os/core/core.mk
/optee_os/core/crypto.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/crypto/sm3.c
/optee_os/core/crypto/sm4-xts.c
/optee_os/core/crypto/sm4.c
/optee_os/core/crypto/sm4.h
/optee_os/core/crypto/sub.mk
/optee_os/core/drivers/atmel_rstc.c
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/clk/clk.c
/optee_os/core/drivers/crypto/se050/adaptors/include/se050.h
/optee_os/core/drivers/crypto/se050/adaptors/utils/scp_config.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/se050/core/rsa.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/drivers/crypto/versal/ipi.c
/optee_os/core/drivers/crypto/versal/rsa.c
/optee_os/core/drivers/crypto/versal/sub.mk
/optee_os/core/drivers/imx_lpuart.c
/optee_os/core/drivers/lpc_uart.c
/optee_os/core/drivers/ls_sfp.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/versal_pm.c
/optee_os/core/drivers/versal_puf.c
/optee_os/core/drivers/versal_sha3_384.c
/optee_os/core/include/crypto/crypto_accel.h
/optee_os/core/include/crypto/crypto_impl.h
/optee_os/core/include/drivers/clk.h
/optee_os/core/include/drivers/lpc_uart.h
/optee_os/core/include/drivers/ls_sfp.h
/optee_os/core/include/drivers/serial.h
/optee_os/core/include/drivers/stm32_bsec.h
/optee_os/core/include/drivers/versal_puf.h
/optee_os/core/include/drivers/versal_sha3_384.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/delay.h
/optee_os/core/kernel/console.c
/optee_os/core/kernel/delay.c
/optee_os/core/kernel/embedded_ts.c
/optee_os/core/kernel/otp_stubs.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_misc.c
/optee_os/core/kernel/tee_time.c
/optee_os/core/kernel/tee_time_ree.c
/optee_os/core/lib/libtomcrypt/ccm.c
/optee_os/core/lib/libtomcrypt/ecc.c
/optee_os/core/lib/libtomcrypt/mpi_desc.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/sha512_accel.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sub.mk
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/pta/stm32mp/bsec_pta.c
/optee_os/core/pta/stm32mp/sub.mk
/optee_os/core/pta/sub.mk
/optee_os/core/tee/tee_cryp_utl.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/ldelf/ldelf.ld.S
/optee_os/ldelf/ldelf.mk
/optee_os/ldelf/start_rv64.S
/optee_os/ldelf/sub.mk
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf_rel.c
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/hash.c
/optee_os/lib/libmbedtls/include/mbedtls_config_kernel.h
/optee_os/lib/libmbedtls/include/mbedtls_config_uta.h
/optee_os/lib/libmbedtls/mbedtls/library/cipher_wrap.c
/optee_os/lib/libutee/arch/arm/utee_syscalls_a32.S
/optee_os/lib/libutee/arch/arm/utee_syscalls_a64.S
/optee_os/lib/libutee/arch/riscv/sub.mk
/optee_os/lib/libutee/arch/riscv/utee_syscalls_rv.S
/optee_os/lib/libutee/include/elf_common.h
/optee_os/lib/libutee/include/pta_stm32mp_bsec.h
/optee_os/lib/libutee/include/tee_api_compat.h
/optee_os/lib/libutee/include/tee_api_defines.h
/optee_os/lib/libutee/include/tee_api_defines_extensions.h
/optee_os/lib/libutee/include/tee_internal_api.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/include/utee_syscalls.h
/optee_os/lib/libutee/include/utee_syscalls_asm.S
/optee_os/lib/libutee/tee_api.c
/optee_os/lib/libutee/tee_api_operations.c
include/config.h
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/assert.h
/optee_os/lib/libutils/isoc/include/malloc.h
/optee_os/lib/libutils/isoc/stack_check.c
/optee_os/mk/config.mk
/optee_os/ta/arch/arm/user_ta_header.c
/optee_os/ta/mk/build-user-ta.mk
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/src/pkcs11_attributes.h
/optee_os/ta/pkcs11/src/processing.c
/optee_os/ta/pkcs11/src/processing.h
/optee_os/ta/pkcs11/src/processing_asymm.c
/optee_os/ta/pkcs11/src/processing_digest.c
/optee_os/ta/pkcs11/src/processing_rsa.c
/optee_os/ta/pkcs11/src/processing_symm.c
/optee_os/ta/pkcs11/src/token_capabilities.c
/optee_os/ta/ta.mk
f197f05530-Nov-2022 liushiwei <liushiwei@eswincomputing.com>

libutils: confine_array_index: add support for RISC-V

Add a naive C implementation for RISC-V.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: liushiwei <liushiwei@eswincomputin

libutils: confine_array_index: add support for RISC-V

Add a naive C implementation for RISC-V.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: liushiwei <liushiwei@eswincomputing.com>
Reviewed-by: chenchaokai <chenchaokai@eswincomputing.com>

show more ...


/optee_os/core/arch/arm/dts/fsl-lx2160a.dtsi
/optee_os/core/arch/arm/dts/stm32mp151.dtsi
/optee_os/core/arch/arm/dts/stm32mp157a-dk1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dk2.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ev1.dts
/optee_os/core/arch/arm/dts/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/include/kernel/cache_helpers_arch.h
/optee_os/core/arch/arm/include/kernel/misc_arch.h
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/riscv/include/kernel/cache_helpers_arch.h
/optee_os/core/arch/riscv/include/kernel/misc_arch.h
/optee_os/core/arch/riscv/include/kernel/tee_l2cc_mutex.h
/optee_os/core/arch/riscv/include/kernel/thread_arch.h
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/include/riscv_macros.S
/optee_os/core/arch/riscv/include/sbi.h
/optee_os/core/arch/riscv/kernel/idle.c
/optee_os/core/arch/riscv/kernel/sbi.c
/optee_os/core/arch/riscv/kernel/sbi_console.c
/optee_os/core/arch/riscv/kernel/spinlock.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/tee_time.c
/optee_os/core/arch/riscv/mm/sub.mk
/optee_os/core/arch/riscv/mm/tlb_helpers_rv.S
/optee_os/core/arch/riscv/plat-spike/conf.mk
/optee_os/core/arch/riscv/plat-spike/drivers/sub.mk
/optee_os/core/arch/riscv/plat-spike/main.c
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/crypto/signed_hdr.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsa.c
/optee_os/core/include/kernel/cache_helpers.h
/optee_os/core/include/kernel/misc.h
/optee_os/core/include/tee/tee_svc_cryp.h
/optee_os/core/include/tee/tee_svc_storage.h
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/trace_ext.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
/optee_os/core/sub.mk
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/core/tests/ftmn_boot_tests.c
/optee_os/core/tests/sub.mk
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa.c
/optee_os/lib/libutee/include/tee_api.h
/optee_os/lib/libutee/include/tee_internal_api.h
/optee_os/lib/libutee/include/tee_ta_api.h
/optee_os/lib/libutee/include/utee_syscalls.h
/optee_os/lib/libutee/include/utee_types.h
/optee_os/lib/libutee/tee_api_objects.c
/optee_os/lib/libutee/tee_api_operations.c
include/confine_array_index.h
7e75ca5401-Apr-2022 Jens Wiklander <jens.wiklander@linaro.org>

Basic fault mitigation routines

Adds basic fault mitigation routines designed to help protecting from
fault injection attacks on the hardware. This is by no means bullet
proof, but it should at leas

Basic fault mitigation routines

Adds basic fault mitigation routines designed to help protecting from
fault injection attacks on the hardware. This is by no means bullet
proof, but it should at least improve the situation.

These routines focus on verifying that a function has been called and
that the returned value matches the result from the function. This is
done by having a handshake between the caller and the callee where also
the return value is transmitted in a separate channel.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

7eaed3a323-Nov-2022 Etienne Carriere <etienne.carriere@linaro.org>

libutils: prefix system header guard with 2 underscore chars

Adds prefix "__" to standard header files implemented in libutils. This
is applicable as these header guards macro are system macros. Thi

libutils: prefix system header guard with 2 underscore chars

Adds prefix "__" to standard header files implemented in libutils. This
is applicable as these header guards macro are system macros. This
change prevents conflicts with external component as faced with
SCP-firmware [1] that implements wrapper headers with #include_next for
assert.h and stdlib.h using ASSERT_H [2] and STDLIB_H [3] as header
guards as in libutils.

Prior this change did stdint.h both define STDINT_H and _STDINT_H but
guards only upon STDINT_H. This change removes STDINT_H.

Link: [1] https://github.com/ARM-software/SCP-firmware.git
Link: [2] https://github.com/ARM-software/SCP-firmware/blob/v2.11.0/framework/include/assert.h#L8-L9
Link: [3] https://github.com/ARM-software/SCP-firmware/blob/v2.11.0/framework/include/stdlib.h#L8-L9
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/arm32.h
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/thread_private_arch.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/mm/pgt_cache.c
/optee_os/core/arch/arm/plat-d06/conf.mk
/optee_os/core/arch/arm/plat-d06/core_pos_a64.S
/optee_os/core/arch/arm/plat-d06/main.c
/optee_os/core/arch/arm/plat-d06/platform_config.h
/optee_os/core/arch/arm/plat-d06/sub.mk
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-versal/conf.mk
/optee_os/core/arch/arm/plat-zynq7k/conf.mk
/optee_os/core/arch/arm/plat-zynqmp/conf.mk
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/arch/arm/sm/sm.c
/optee_os/core/crypto/signed_hdr.c
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/atmel_rstc.c
/optee_os/core/drivers/atmel_rtc.c
/optee_os/core/drivers/atmel_saic.c
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/atmel_tcb.c
/optee_os/core/drivers/atmel_trng.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/crypto_api/acipher/rsa.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsassa.c
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_acipher.h
/optee_os/core/drivers/crypto/se050/adaptors/apis/sss.c
/optee_os/core/drivers/crypto/se050/adaptors/utils/scp_config.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/crypto/se050/session.c
/optee_os/core/drivers/crypto/sub.mk
/optee_os/core/drivers/crypto/versal/authenc.c
/optee_os/core/drivers/crypto/versal/include/ipi.h
/optee_os/core/drivers/crypto/versal/ipi.c
/optee_os/core/drivers/crypto/versal/sub.mk
/optee_os/core/drivers/imx_i2c.c
/optee_os/core/drivers/imx_lpuart.c
/optee_os/core/drivers/imx_rngb.c
/optee_os/core/drivers/imx_uart.c
/optee_os/core/drivers/imx_wdog.c
/optee_os/core/drivers/ls_dspi.c
/optee_os/core/drivers/ls_gpio.c
/optee_os/core/drivers/ls_i2c.c
/optee_os/core/drivers/ls_sec_mon.c
/optee_os/core/drivers/pl011.c
/optee_os/core/drivers/pm/sam/at91_pm.c
/optee_os/core/drivers/serial8250_uart.c
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/versal_nvm.c
/optee_os/core/drivers/versal_trng.c
/optee_os/core/drivers/xiphera_trng.c
/optee_os/core/include/crypto/crypto_impl.h
/optee_os/core/include/drivers/stm32_gpio.h
/optee_os/core/include/drivers/versal_nvm.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/ts_manager.h
/optee_os/core/include/signed_hdr.h
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/bcm/sotp.c
/optee_os/core/pta/secstor_ta_mgmt.c
/optee_os/core/pta/stats.c
/optee_os/core/tee/tee_svc.c
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libmbedtls/include/mbedtls_config_uta.h
/optee_os/lib/libmbedtls/mbedtls/library/cipher_wrap.c
/optee_os/lib/libutee/arch/arm/user_ta_entry.c
/optee_os/lib/libutee/include/utee_types.h
include/stdlib_ext.h
include/string_ext.h
include/types_ext.h
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/assert.h
/optee_os/lib/libutils/isoc/include/inttypes.h
/optee_os/lib/libutils/isoc/include/limits.h
/optee_os/lib/libutils/isoc/include/malloc.h
/optee_os/lib/libutils/isoc/include/memory.h
/optee_os/lib/libutils/isoc/include/signal.h
/optee_os/lib/libutils/isoc/include/stdint.h
/optee_os/lib/libutils/isoc/include/stdio.h
/optee_os/lib/libutils/isoc/include/stdlib.h
/optee_os/lib/libutils/isoc/include/string.h
/optee_os/lib/libutils/isoc/include/time.h
/optee_os/lib/libutils/isoc/include/unistd.h
/optee_os/lib/libutils/isoc/include/wchar.h
/optee_os/mk/config.mk
/optee_os/scripts/sign_encrypt.py
/optee_os/ta/arch/arm/link.mk
/optee_os/ta/arch/arm/link_shlib.mk
4afd9f0301-Sep-2022 Jorge Ramirez-Ortiz <jorge@foundries.io>

libutils: compiler.h: introduce __alias(x)

Improve readability with an __alias definition.
Supports the __weak __alias("g") use case

Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Reviewed

libutils: compiler.h: introduce __alias(x)

Improve readability with an __alias definition.
Supports the __weak __alias("g") use case

Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d3ed98ee20-Oct-2022 Clement Faure <clement.faure@nxp.com>

libutils: util.h: fix the ROUNDUP_OVERFLOW() macro

Some parenthesis are missing in the ROUNDUP_OVERFLOW expression.
The macro can only return false.

Fixes: 2e48af989133 ("util.h: add the macro ROUN

libutils: util.h: fix the ROUNDUP_OVERFLOW() macro

Some parenthesis are missing in the ROUNDUP_OVERFLOW expression.
The macro can only return false.

Fixes: 2e48af989133 ("util.h: add the macro ROUNDUP_OVERFLOW()")
Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci-cancel.yml
/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/stm32mp157a-dhcor-avenger96.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dhcom-pdk2.dts
/optee_os/core/arch/arm/dts/stm32mp15xx-dhcom-pdk2.dtsi
/optee_os/core/arch/arm/dts/stm32mp15xx-dhcom-som.dtsi
/optee_os/core/arch/arm/dts/stm32mp15xx-dhcor-avenger96.dtsi
/optee_os/core/arch/arm/dts/stm32mp15xx-dhcor-io1v8.dtsi
/optee_os/core/arch/arm/dts/stm32mp15xx-dhcor-som.dtsi
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/thread_arch.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc.c
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_spmc_a64.S
/optee_os/core/arch/arm/kernel/unwind_arm64.c
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/mm/pgt_cache.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/registers/imx8m.h
/optee_os/core/arch/arm/plat-k3/conf.mk
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul.c
/optee_os/core/arch/arm/plat-k3/platform_config.h
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-ls/crypto_conf.mk
/optee_os/core/arch/arm/plat-ls/platform_config.h
/optee_os/core/arch/arm/plat-rcar/core_pos_a64.S
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/pm/psci.c
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-versal/conf.mk
/optee_os/core/arch/arm/plat-versal/link.mk
/optee_os/core/arch/arm/plat-versal/platform_config.h
/optee_os/core/arch/arm/plat-zynqmp/conf.mk
/optee_os/core/arch/riscv/include/encoding.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/include/sub.mk
/optee_os/core/arch/riscv/plat-spike/conf.mk
/optee_os/core/crypto.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/crypto_api/acipher/ecc.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsassa.c
/optee_os/core/drivers/crypto/se050/core/storage.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/crypto/se050/glue/i2c_stm32.c
/optee_os/core/drivers/crypto/se050/sub.mk
/optee_os/core/drivers/imx/dcp/dcp_huk.c
/optee_os/core/drivers/imx/mu/imx_mu.c
/optee_os/core/drivers/imx/mu/imx_mu_8q.c
/optee_os/core/drivers/imx/mu/imx_mu_8ulp.c
/optee_os/core/drivers/imx/mu/imx_mu_platform.h
/optee_os/core/drivers/imx/mu/sub.mk
/optee_os/core/drivers/imx/sub.mk
/optee_os/core/drivers/imx_i2c.c
/optee_os/core/drivers/imx_sc_api.c
/optee_os/core/drivers/ls_sec_mon.c
/optee_os/core/drivers/scmi-msg/voltage_domain.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/versal_gpio.c
/optee_os/core/drivers/versal_mbox.c
/optee_os/core/drivers/versal_pm.c
/optee_os/core/drivers/zynqmp_huk.c
/optee_os/core/drivers/zynqmp_pm.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/imx_mu.h
/optee_os/core/include/drivers/ls_sec_mon.h
/optee_os/core/include/drivers/scmi-msg.h
/optee_os/core/include/drivers/stm32mp1_rcc.h
/optee_os/core/include/drivers/versal_gpio.h
/optee_os/core/include/drivers/versal_mbox.h
/optee_os/core/include/drivers/versal_pm.h
/optee_os/core/include/drivers/zynqmp_efuse.h
/optee_os/core/include/drivers/zynqmp_huk.h
/optee_os/core/include/drivers/zynqmp_pm.h
/optee_os/core/include/dt-bindings/reset/stm32mp1-resets.h
/optee_os/core/include/dt-bindings/reset/stm32mp13-resets.h
/optee_os/core/include/kernel/thread.h
/optee_os/core/include/kernel/thread_private.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/include/mm/pgt_cache.h
/optee_os/core/include/mm/tee_pager.h
/optee_os/core/include/mm/vm.h
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/thread.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/ccm.c
/optee_os/core/lib/libtomcrypt/dsa.c
/optee_os/core/lib/libtomcrypt/ed25519.c
/optee_os/core/lib/libtomcrypt/hash.c
/optee_os/core/lib/libtomcrypt/sm2-pke.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aes.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aes_tab.c
/optee_os/core/lib/libtomcrypt/src/ciphers/anubis.c
/optee_os/core/lib/libtomcrypt/src/ciphers/blowfish.c
/optee_os/core/lib/libtomcrypt/src/ciphers/camellia.c
/optee_os/core/lib/libtomcrypt/src/ciphers/cast5.c
/optee_os/core/lib/libtomcrypt/src/ciphers/des.c
/optee_os/core/lib/libtomcrypt/src/ciphers/idea.c
/optee_os/core/lib/libtomcrypt/src/ciphers/kasumi.c
/optee_os/core/lib/libtomcrypt/src/ciphers/khazad.c
/optee_os/core/lib/libtomcrypt/src/ciphers/kseed.c
/optee_os/core/lib/libtomcrypt/src/ciphers/multi2.c
/optee_os/core/lib/libtomcrypt/src/ciphers/noekeon.c
/optee_os/core/lib/libtomcrypt/src/ciphers/rc2.c
/optee_os/core/lib/libtomcrypt/src/ciphers/rc5.c
/optee_os/core/lib/libtomcrypt/src/ciphers/rc6.c
/optee_os/core/lib/libtomcrypt/src/ciphers/safer/safer.c
/optee_os/core/lib/libtomcrypt/src/ciphers/safer/safer_tab.c
/optee_os/core/lib/libtomcrypt/src/ciphers/safer/saferp.c
/optee_os/core/lib/libtomcrypt/src/ciphers/serpent.c
/optee_os/core/lib/libtomcrypt/src/ciphers/skipjack.c
/optee_os/core/lib/libtomcrypt/src/ciphers/tea.c
/optee_os/core/lib/libtomcrypt/src/ciphers/twofish/twofish.c
/optee_os/core/lib/libtomcrypt/src/ciphers/twofish/twofish_tab.c
/optee_os/core/lib/libtomcrypt/src/ciphers/xtea.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_add_aad.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_add_nonce.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_process.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_reset.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_test.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_add_aad.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_decrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_encrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_setiv.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_setiv_rfc7905.c
/optee_os/core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_test.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_addheader.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_decrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_decrypt_verify_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_encrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_encrypt_authenticate_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/eax/eax_test.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_add_aad.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_add_iv.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_gf_mult.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_mult_h.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_process.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_reset.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_test.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_decrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_decrypt_verify_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_done_decrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_done_encrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_encrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_encrypt_authenticate_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_ntz.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_shift_xor.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_test.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/s_ocb_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_add_aad.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_decrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_decrypt_last.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_decrypt_verify_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_encrypt.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_encrypt_authenticate_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_encrypt_last.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_int_ntz.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_int_xor_blocks.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb3/ocb3_test.c
/optee_os/core/lib/libtomcrypt/src/hashes/blake2b.c
/optee_os/core/lib/libtomcrypt/src/hashes/blake2s.c
/optee_os/core/lib/libtomcrypt/src/hashes/chc/chc.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_file.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_filehandle.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_memory.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/hashes/md2.c
/optee_os/core/lib/libtomcrypt/src/hashes/md4.c
/optee_os/core/lib/libtomcrypt/src/hashes/md5.c
/optee_os/core/lib/libtomcrypt/src/hashes/rmd128.c
/optee_os/core/lib/libtomcrypt/src/hashes/rmd160.c
/optee_os/core/lib/libtomcrypt/src/hashes/rmd256.c
/optee_os/core/lib/libtomcrypt/src/hashes/rmd320.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha1.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha224.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha256.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha384.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha512.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha512_224.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha512_256.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha3.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha3_test.c
/optee_os/core/lib/libtomcrypt/src/hashes/tiger.c
/optee_os/core/lib/libtomcrypt/src/hashes/whirl/whirl.c
/optee_os/core/lib/libtomcrypt/src/hashes/whirl/whirltab.c
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_argchk.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_cfg.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_cipher.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_custom.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_hash.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_mac.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_macros.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_math.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_misc.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_pk.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_pkcs.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_private.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_prng.h
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2bmac.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2bmac_file.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2bmac_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2bmac_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2bmac_test.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2smac.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2smac_file.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2smac_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2smac_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/blake2/blake2smac_test.c
/optee_os/core/lib/libtomcrypt/src/mac/f9/f9_done.c
/optee_os/core/lib/libtomcrypt/src/mac/f9/f9_file.c
/optee_os/core/lib/libtomcrypt/src/mac/f9/f9_init.c
/optee_os/core/lib/libtomcrypt/src/mac/f9/f9_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/f9/f9_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/f9/f9_process.c
/optee_os/core/lib/libtomcrypt/src/mac/f9/f9_test.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_done.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_file.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_init.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_process.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_test.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_done.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_file.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_init.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_process.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_test.c
/optee_os/core/lib/libtomcrypt/src/mac/pelican/pelican.c
/optee_os/core/lib/libtomcrypt/src/mac/pelican/pelican_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/pelican/pelican_test.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_done.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_file.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_init.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_ntz.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_process.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_shift_xor.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_test.c
/optee_os/core/lib/libtomcrypt/src/mac/poly1305/poly1305.c
/optee_os/core/lib/libtomcrypt/src/mac/poly1305/poly1305_file.c
/optee_os/core/lib/libtomcrypt/src/mac/poly1305/poly1305_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/poly1305/poly1305_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/poly1305/poly1305_test.c
/optee_os/core/lib/libtomcrypt/src/mac/xcbc/xcbc_done.c
/optee_os/core/lib/libtomcrypt/src/mac/xcbc/xcbc_file.c
/optee_os/core/lib/libtomcrypt/src/mac/xcbc/xcbc_init.c
/optee_os/core/lib/libtomcrypt/src/mac/xcbc/xcbc_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/xcbc/xcbc_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/xcbc/xcbc_process.c
/optee_os/core/lib/libtomcrypt/src/mac/xcbc/xcbc_test.c
/optee_os/core/lib/libtomcrypt/src/math/fp/ltc_ecc_fp_mulmod.c
/optee_os/core/lib/libtomcrypt/src/math/gmp_desc.c
/optee_os/core/lib/libtomcrypt/src/math/ltm_desc.c
/optee_os/core/lib/libtomcrypt/src/math/multi.c
/optee_os/core/lib/libtomcrypt/src/math/radix_to_bin.c
/optee_os/core/lib/libtomcrypt/src/math/rand_bn.c
/optee_os/core/lib/libtomcrypt/src/math/rand_prime.c
/optee_os/core/lib/libtomcrypt/src/math/tfm_desc.c
/optee_os/core/lib/libtomcrypt/src/misc/adler32.c
/optee_os/core/lib/libtomcrypt/src/misc/base16/base16_decode.c
/optee_os/core/lib/libtomcrypt/src/misc/base16/base16_encode.c
/optee_os/core/lib/libtomcrypt/src/misc/base32/base32_decode.c
/optee_os/core/lib/libtomcrypt/src/misc/base32/base32_encode.c
/optee_os/core/lib/libtomcrypt/src/misc/base64/base64_decode.c
/optee_os/core/lib/libtomcrypt/src/misc/base64/base64_encode.c
/optee_os/core/lib/libtomcrypt/src/misc/bcrypt/bcrypt.c
/optee_os/core/lib/libtomcrypt/src/misc/burn_stack.c
/optee_os/core/lib/libtomcrypt/src/misc/compare_testvector.c
/optee_os/core/lib/libtomcrypt/src/misc/copy_or_zeromem.c
/optee_os/core/lib/libtomcrypt/src/misc/crc32.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_argchk.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_cipher_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_cipher_is_valid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_constants.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_any.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_id.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_any.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_id.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_oid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_prng.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_fsa.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_hash_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_hash_is_valid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_inits.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_ltc_mp_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_prng_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_prng_is_valid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_prng_rng_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_ciphers.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_hashes.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_prngs.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_cipher.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_hash.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_prng.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_sizes.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_cipher.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_hash.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_prng.c
/optee_os/core/lib/libtomcrypt/src/misc/error_to_string.c
/optee_os/core/lib/libtomcrypt/src/misc/hkdf/hkdf.c
/optee_os/core/lib/libtomcrypt/src/misc/hkdf/hkdf_test.c
/optee_os/core/lib/libtomcrypt/src/misc/mem_neq.c
/optee_os/core/lib/libtomcrypt/src/misc/padding/padding_depad.c
/optee_os/core/lib/libtomcrypt/src/misc/padding/padding_pad.c
/optee_os/core/lib/libtomcrypt/src/misc/pbes/pbes.c
/optee_os/core/lib/libtomcrypt/src/misc/pbes/pbes1.c
/optee_os/core/lib/libtomcrypt/src/misc/pbes/pbes2.c
/optee_os/core/lib/libtomcrypt/src/misc/pbes/sub.mk
/optee_os/core/lib/libtomcrypt/src/misc/pkcs12/pkcs12_kdf.c
/optee_os/core/lib/libtomcrypt/src/misc/pkcs12/pkcs12_utf8_to_utf16.c
/optee_os/core/lib/libtomcrypt/src/misc/pkcs12/sub.mk
/optee_os/core/lib/libtomcrypt/src/misc/pkcs5/pkcs_5_1.c
/optee_os/core/lib/libtomcrypt/src/misc/pkcs5/pkcs_5_2.c
/optee_os/core/lib/libtomcrypt/src/misc/pkcs5/pkcs_5_test.c
/optee_os/core/lib/libtomcrypt/src/misc/ssh/ssh_decode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/misc/ssh/ssh_encode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/misc/sub.mk
/optee_os/core/lib/libtomcrypt/src/misc/zeromem.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_done.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_getiv.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_start.c
/optee_os/core/lib/libtomcrypt/src/modes/cfb/cfb_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/cfb/cfb_done.c
/optee_os/core/lib/libtomcrypt/src/modes/cfb/cfb_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/cfb/cfb_getiv.c
/optee_os/core/lib/libtomcrypt/src/modes/cfb/cfb_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/cfb/cfb_start.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_done.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_getiv.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_start.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_test.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_done.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_start.c
/optee_os/core/lib/libtomcrypt/src/modes/f8/f8_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/f8/f8_done.c
/optee_os/core/lib/libtomcrypt/src/modes/f8/f8_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/f8/f8_getiv.c
/optee_os/core/lib/libtomcrypt/src/modes/f8/f8_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/f8/f8_start.c
/optee_os/core/lib/libtomcrypt/src/modes/f8/f8_test_mode.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_done.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_getiv.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_process.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_start.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_test.c
/optee_os/core/lib/libtomcrypt/src/modes/ofb/ofb_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ofb/ofb_done.c
/optee_os/core/lib/libtomcrypt/src/modes/ofb/ofb_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ofb/ofb_getiv.c
/optee_os/core/lib/libtomcrypt/src/modes/ofb/ofb_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/ofb/ofb_start.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_done.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_init.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_mult_x.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_test.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/der_decode_bit_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/der_decode_raw_bit_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/der_encode_bit_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/der_encode_raw_bit_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/der_length_bit_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/boolean/der_decode_boolean.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/boolean/der_encode_boolean.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/boolean/der_length_boolean.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/choice/der_decode_choice.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/custom_type/der_decode_custom_type.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/custom_type/der_encode_custom_type.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/custom_type/der_length_custom_type.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/general/der_asn1_maps.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/general/der_decode_asn1_identifier.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/general/der_decode_asn1_length.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/general/der_encode_asn1_identifier.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/general/der_encode_asn1_length.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/general/der_length_asn1_identifier.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/general/der_length_asn1_length.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/generalizedtime/der_decode_generalizedtime.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/generalizedtime/der_encode_generalizedtime.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/generalizedtime/der_length_generalizedtime.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/ia5/der_decode_ia5_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/ia5/der_encode_ia5_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/ia5/der_length_ia5_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/integer/der_decode_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/integer/der_encode_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/integer/der_length_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/object_identifier/der_decode_object_identifier.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/object_identifier/der_encode_object_identifier.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/object_identifier/der_length_object_identifier.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/octet/der_decode_octet_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/octet/der_encode_octet_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/octet/der_length_octet_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/printable_string/der_decode_printable_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/printable_string/der_encode_printable_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/printable_string/der_length_printable_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_ex.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_flexi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_ex.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_length_sequence.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_sequence_free.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_sequence_shrink.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/set/der_encode_set.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/set/der_encode_setof.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/short_integer/der_decode_short_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/short_integer/der_encode_short_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/short_integer/der_length_short_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/teletex_string/der_decode_teletex_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/teletex_string/der_length_teletex_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utctime/der_decode_utctime.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utctime/der_encode_utctime.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utctime/der_length_utctime.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_decode_utf8_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_encode_utf8_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_length_utf8_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/oid/pk_get_oid.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/oid/pk_oid_cmp.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/oid/pk_oid_str.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/pkcs8/pkcs8_decode_flexi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/x509/x509_decode_public_key_from_certificate.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/x509/x509_decode_subject_public_key_info.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/x509/x509_encode_subject_public_key_info.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_check_pubkey.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_export.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_export_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_free.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_generate_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_import.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_set.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_set_pg_dhparam.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh_shared_secret.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_decrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_encrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_export.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_free.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_generate_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_generate_pqg.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_import.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_set.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_set_pqg_dsaparam.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_shared_secret.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_sign_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_verify_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_verify_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ec25519/ec25519_crypto_ctx.c
/optee_os/core/lib/libtomcrypt/src/pk/ec25519/ec25519_export.c
/optee_os/core/lib/libtomcrypt/src/pk/ec25519/ec25519_import_pkcs8.c
/optee_os/core/lib/libtomcrypt/src/pk/ec25519/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/ec25519/tweetnacl.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_ansi_x963_export.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_ansi_x963_import.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_decrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_encrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_export.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_export_openssl.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_find_curve.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_free.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_get_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_get_oid_str.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_get_size.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_import.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_import_openssl.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_import_pkcs8.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_import_x509.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_recover_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_set_curve.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_set_curve_internal.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_set_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_shared_secret.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_sign_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_sizes.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_ssh_ecdsa_encode_name.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_verify_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_export_point.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_import_point.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_is_point.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_is_point_at_infinity.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_map.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod_timing.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_points.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_verify_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_export.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_import.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_import_pkcs8.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_import_raw.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_import_x509.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_sign.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_verify.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_i2osp.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_os2ip.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_decrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_encrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_export.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_exptmod.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_get_size.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_import.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_import_pkcs8.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_import_x509.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_set.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_sign_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_sign_saltlen_get.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/x25519/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_export.c
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_import.c
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_import_pkcs8.c
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_import_raw.c
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_import_x509.c
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_shared_secret.c
/optee_os/core/lib/libtomcrypt/src/prngs/chacha20.c
/optee_os/core/lib/libtomcrypt/src/prngs/fortuna.c
/optee_os/core/lib/libtomcrypt/src/prngs/rc4.c
/optee_os/core/lib/libtomcrypt/src/prngs/rng_get_bytes.c
/optee_os/core/lib/libtomcrypt/src/prngs/rng_make_prng.c
/optee_os/core/lib/libtomcrypt/src/prngs/sober128.c
/optee_os/core/lib/libtomcrypt/src/prngs/sprng.c
/optee_os/core/lib/libtomcrypt/src/prngs/yarrow.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_crypt.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_done.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_ivctr32.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_ivctr64.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_keystream.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_memory.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_setup.c
/optee_os/core/lib/libtomcrypt/src/stream/chacha/chacha_test.c
/optee_os/core/lib/libtomcrypt/src/stream/rabbit/rabbit.c
/optee_os/core/lib/libtomcrypt/src/stream/rabbit/rabbit_memory.c
/optee_os/core/lib/libtomcrypt/src/stream/rc4/rc4_stream.c
/optee_os/core/lib/libtomcrypt/src/stream/rc4/rc4_stream_memory.c
/optee_os/core/lib/libtomcrypt/src/stream/rc4/rc4_test.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/salsa20_crypt.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/salsa20_done.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/salsa20_ivctr64.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/salsa20_keystream.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/salsa20_memory.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/salsa20_setup.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/salsa20_test.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/xsalsa20_memory.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/xsalsa20_setup.c
/optee_os/core/lib/libtomcrypt/src/stream/salsa20/xsalsa20_test.c
/optee_os/core/lib/libtomcrypt/src/stream/sober128/sober128_stream.c
/optee_os/core/lib/libtomcrypt/src/stream/sober128/sober128_stream_memory.c
/optee_os/core/lib/libtomcrypt/src/stream/sober128/sober128_test.c
/optee_os/core/lib/libtomcrypt/src/stream/sober128/sober128tab.c
/optee_os/core/lib/libtomcrypt/src/stream/sosemanuk/sosemanuk.c
/optee_os/core/lib/libtomcrypt/src/stream/sosemanuk/sosemanuk_memory.c
/optee_os/core/lib/libtomcrypt/src/stream/sosemanuk/sosemanuk_test.c
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/libtomcrypt/x25519.c
/optee_os/core/lib/zlib/gzguts.h
/optee_os/core/lib/zlib/inffast.c
/optee_os/core/lib/zlib/inflate.c
/optee_os/core/lib/zlib/inflate.h
/optee_os/core/lib/zlib/inftrees.c
/optee_os/core/lib/zlib/zlib.h
/optee_os/core/lib/zlib/zutil.c
/optee_os/core/lib/zlib/zutil.h
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/vm.c
/optee_os/core/tee/entry_std.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/lib/libutee/include/tee_api_defines.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/tee_api_operations.c
include/util.h
/optee_os/lib/libutils/isoc/include/assert.h
/optee_os/mk/config.mk
/optee_os/scripts/checkpatch_inc.sh
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.c
/optee_os/ta/pkcs11/src/processing.c
/optee_os/ta/pkcs11/src/processing.h
/optee_os/ta/pkcs11/src/processing_asymm.c
/optee_os/ta/pkcs11/src/processing_ec.c
/optee_os/ta/pkcs11/src/token_capabilities.c
/optee_os/ta/ta.mk
d992553623-Aug-2022 Jerome Forissier <jerome.forissier@linaro.org>

arm32: libutils, libutee, ta: add .note.GNU-stack section to .S files

When building for arm32 with GNU binutils 2.39, the linker outputs
warnings when linking Trusted Applications:

arm-unknown-lin

arm32: libutils, libutee, ta: add .note.GNU-stack section to .S files

When building for arm32 with GNU binutils 2.39, the linker outputs
warnings when linking Trusted Applications:

arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

We could silence the warning by adding the '--no-warn-execstack' option
to the TA link flags, like we did in the parent commit for the TEE core
and ldelf. Indeed, ldelf always allocates a non-executable piece of
memory for the TA to use as a stack.

However it seems preferable to comply with the common ELF practices in
this case. A better fix is therefore to add the missing .note.GNU-stack
sections in the assembler files.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

8dc184e518-Jul-2022 Marouene Boubakri <marouene.boubakri@nxp.com>

libutils: util.h: add get_field_u{32,64}() and set_field_u{32,64}()

This commit defines macros for getting and setting bit fields.

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Revie

libutils: util.h: add get_field_u{32,64}() and set_field_u{32,64}()

This commit defines macros for getting and setting bit fields.

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci-cancel.yml
/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/dts/hikey.dts
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/dts/stm32mp13-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp131.dtsi
/optee_os/core/arch/arm/dts/stm32mp133.dtsi
/optee_os/core/arch/arm/dts/stm32mp135.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/optee_os/core/arch/arm/dts/stm32mp13xc.dtsi
/optee_os/core/arch/arm/dts/stm32mp13xf.dtsi
/optee_os/core/arch/arm/dts/stm32mp15-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp151.dtsi
/optee_os/core/arch/arm/dts/stm32mp153.dtsi
/optee_os/core/arch/arm/dts/stm32mp157.dtsi
/optee_os/core/arch/arm/dts/stm32mp157a-dk1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dk2.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ev1.dts
/optee_os/core/arch/arm/dts/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread_optee_smc.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/pgt_cache.c
/optee_os/core/arch/arm/plat-bcm/main.c
/optee_os/core/arch/arm/plat-corstone1000/conf.mk
/optee_os/core/arch/arm/plat-corstone1000/main.c
/optee_os/core/arch/arm/plat-corstone1000/platform_config.h
/optee_os/core/arch/arm/plat-corstone1000/sub.mk
/optee_os/core/arch/arm/plat-hikey/conf.mk
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/crypto_conf.mk
/optee_os/core/arch/arm/plat-imx/imx-common.c
/optee_os/core/arch/arm/plat-imx/imx-regs.h
/optee_os/core/arch/arm/plat-imx/imx.h
/optee_os/core/arch/arm/plat-imx/registers/imx6-dcp.h
/optee_os/core/arch/arm/plat-imx/registers/imx6.h
/optee_os/core/arch/arm/plat-imx/registers/imx7.h
/optee_os/core/arch/arm/plat-imx/registers/imx7ulp.h
/optee_os/core/arch/arm/plat-imx/registers/imx8m.h
/optee_os/core/arch/arm/plat-imx/registers/imx8q.h
/optee_os/core/arch/arm/plat-imx/registers/imx8ulp.h
/optee_os/core/arch/arm/plat-imx/registers/imx93.h
/optee_os/core/arch/arm/plat-k3/conf.mk
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul_rng.c
/optee_os/core/arch/arm/plat-k3/platform_config.h
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-ls/crypto_conf.mk
/optee_os/core/arch/arm/plat-ls/platform_config.h
/optee_os/core/arch/arm/plat-rcar/conf.mk
/optee_os/core/arch/arm/plat-rcar/hw_rng.c
/optee_os/core/arch/arm/plat-rcar/main.c
/optee_os/core/arch/arm/plat-sam/main.c
/optee_os/core/arch/arm/plat-sam/nsec-service/sm_platform_handler.c
/optee_os/core/arch/arm/plat-sam/nsec-service/smc_ids.h
/optee_os/core/arch/arm/plat-sam/sam_sfr.c
/optee_os/core/arch/arm/plat-sam/sam_sfr.h
/optee_os/core/arch/arm/plat-sam/sub.mk
/optee_os/core/arch/arm/plat-stm/rng_support.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_etzpc.h
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_syscfg.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/plat_tzc400.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/pm/psci.c
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-stm32mp1/sub.mk
/optee_os/core/arch/arm/plat-synquacer/main.c
/optee_os/core/arch/arm/plat-synquacer/rng_pta.c
/optee_os/core/arch/arm/plat-synquacer/synquacer_rng_pta.h
/optee_os/core/arch/arm/plat-totalcompute/conf.mk
/optee_os/core/arch/arm/plat-totalcompute/platform_config.h
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/riscv/include/kernel/secure_partition.h
/optee_os/core/arch/riscv/include/kernel/stmm_sp.h
/optee_os/core/arch/riscv/include/kernel/tlb_helpers.h
/optee_os/core/arch/riscv/include/mm/generic_ram_layout.h
/optee_os/core/arch/riscv/kernel/spinlock.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/plat-spike/drivers/htif.c
/optee_os/core/arch/riscv/plat-spike/drivers/htif.h
/optee_os/core/arch/riscv/plat-spike/drivers/sub.mk
/optee_os/core/arch/riscv/plat-spike/kern.ld.S
/optee_os/core/arch/riscv/plat-spike/main.c
/optee_os/core/arch/riscv/plat-spike/platform_config.h
/optee_os/core/arch/riscv/plat-spike/sub.mk
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/crypto/rng_hw.c
/optee_os/core/drivers/atmel_trng.c
/optee_os/core/drivers/bcm_sotp.c
/optee_os/core/drivers/clk/clk-stm32-core.c
/optee_os/core/drivers/clk/clk-stm32mp13.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/crypto/caam/caam_rng.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg.c
/optee_os/core/drivers/crypto/caam/hal/common/registers/rng_regs.h
/optee_os/core/drivers/crypto/se050/core/rng.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/crypto/se050/glue/i2c.c
/optee_os/core/drivers/dra7_rng.c
/optee_os/core/drivers/hi16xx_rng.c
/optee_os/core/drivers/imx/dcp/dcp.c
/optee_os/core/drivers/imx/dcp/dcp_huk.c
/optee_os/core/drivers/imx_i2c.c
/optee_os/core/drivers/imx_ocotp.c
/optee_os/core/drivers/imx_rngb.c
/optee_os/core/drivers/imx_snvs.c
/optee_os/core/drivers/smccc_trng.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/stm32_shared_io.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/xiphera_trng.c
/optee_os/core/include/drivers/bcm_sotp.h
/optee_os/core/include/drivers/imx/dcp.h
/optee_os/core/include/drivers/stm32_rng.h
/optee_os/core/include/drivers/stm32_shared_io.h
/optee_os/core/include/drivers/stm32mp_dt_bindings.h
/optee_os/core/include/dt-bindings/clock/stm32mp1-clks.h
/optee_os/core/include/dt-bindings/gpio/gpio.h
/optee_os/core/include/dt-bindings/regulator/st,stm32mp13-regulator.h
/optee_os/core/include/dt-bindings/regulator/st,stm32mp15-regulator.h
/optee_os/core/include/dt-bindings/reset/stm32mp1-resets.h
/optee_os/core/include/mm/pgt_cache.h
/optee_os/core/include/mm/tee_mmu_types.h
/optee_os/core/include/rng_support.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/attestation.c
/optee_os/core/pta/bcm/sotp.c
/optee_os/core/pta/hwrng.c
/optee_os/core/pta/scmi.c
/optee_os/core/tee/tee_ree_fs.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/ldelf/ta_elf_rel.c
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libmbedtls/mbedtls/BUGS.md
/optee_os/lib/libmbedtls/mbedtls/CONTRIBUTING.md
/optee_os/lib/libmbedtls/mbedtls/ChangeLog
/optee_os/lib/libmbedtls/mbedtls/README.md
/optee_os/lib/libmbedtls/mbedtls/SECURITY.md
/optee_os/lib/libmbedtls/mbedtls/SUPPORT.md
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/aes.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/arc4.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/aria.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/asn1.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/base64.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/bignum.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/blowfish.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/bn_mul.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/camellia.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ccm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/chacha20.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/chachapoly.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/check_config.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/cipher.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/cmac.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/constant_time.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ctr_drbg.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/debug.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/des.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/dhm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecjpake.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecp.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/entropy.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/error.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/gcm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/hkdf.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/hmac_drbg.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md2.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md4.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md5.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/memory_buffer_alloc.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/net_sockets.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/oid.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/padlock.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pem.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pk.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs12.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs5.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform_time.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform_util.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/poly1305.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/psa_util.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ripemd160.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/rsa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha1.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha256.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha512.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_cache.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_cookie.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_internal.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_ticket.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/threading.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/version.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_crl.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_crt.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_csr.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/xtea.h
/optee_os/lib/libmbedtls/mbedtls/library/aes.c
/optee_os/lib/libmbedtls/mbedtls/library/aria.c
/optee_os/lib/libmbedtls/mbedtls/library/asn1write.c
/optee_os/lib/libmbedtls/mbedtls/library/base64.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum.c
/optee_os/lib/libmbedtls/mbedtls/library/blowfish.c
/optee_os/lib/libmbedtls/mbedtls/library/camellia.c
/optee_os/lib/libmbedtls/mbedtls/library/ccm.c
/optee_os/lib/libmbedtls/mbedtls/library/chacha20.c
/optee_os/lib/libmbedtls/mbedtls/library/chachapoly.c
/optee_os/lib/libmbedtls/mbedtls/library/cipher.c
/optee_os/lib/libmbedtls/mbedtls/library/common.h
/optee_os/lib/libmbedtls/mbedtls/library/constant_time.c
/optee_os/lib/libmbedtls/mbedtls/library/constant_time_internal.h
/optee_os/lib/libmbedtls/mbedtls/library/constant_time_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/ctr_drbg.c
/optee_os/lib/libmbedtls/mbedtls/library/des.c
/optee_os/lib/libmbedtls/mbedtls/library/dhm.c
/optee_os/lib/libmbedtls/mbedtls/library/ecdh.c
/optee_os/lib/libmbedtls/mbedtls/library/ecjpake.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp_curves.c
/optee_os/lib/libmbedtls/mbedtls/library/gcm.c
/optee_os/lib/libmbedtls/mbedtls/library/md4.c
/optee_os/lib/libmbedtls/mbedtls/library/md5.c
/optee_os/lib/libmbedtls/mbedtls/library/memory_buffer_alloc.c
/optee_os/lib/libmbedtls/mbedtls/library/net_sockets.c
/optee_os/lib/libmbedtls/mbedtls/library/nist_kw.c
/optee_os/lib/libmbedtls/mbedtls/library/pkcs12.c
/optee_os/lib/libmbedtls/mbedtls/library/pkparse.c
/optee_os/lib/libmbedtls/mbedtls/library/poly1305.c
/optee_os/lib/libmbedtls/mbedtls/library/ripemd160.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa.c
/optee_os/lib/libmbedtls/mbedtls/library/sha1.c
/optee_os/lib/libmbedtls/mbedtls/library/sha256.c
/optee_os/lib/libmbedtls/mbedtls/library/sha512.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_ciphersuites.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_cli.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_cookie.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_msg.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_srv.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_ticket.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_keys.c
/optee_os/lib/libmbedtls/mbedtls/library/threading.c
/optee_os/lib/libmbedtls/mbedtls/library/timing.c
/optee_os/lib/libmbedtls/mbedtls/library/version_features.c
/optee_os/lib/libmbedtls/mbedtls/library/x509.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_crl.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_crt.c
/optee_os/lib/libmbedtls/mbedtls/library/x509write_crt.c
/optee_os/lib/libmbedtls/mbedtls/library/xtea.c
/optee_os/lib/libmbedtls/sub.mk
/optee_os/lib/libutee/include/pta_rng.h
/optee_os/lib/libutee/include/rng_pta_client.h
include/util.h
/optee_os/lib/libutils/isoc/include/string.h
/optee_os/lib/libutils/isoc/newlib/strtok_r.c
/optee_os/lib/libutils/isoc/newlib/sub.mk
/optee_os/mk/clang.mk
/optee_os/mk/config.mk
/optee_os/ta/mk/build-user-ta.mk
/optee_os/ta/pkcs11/src/pkcs11_token.c
ad0ae80027-Dec-2021 Marouene Boubakri <marouene.boubakri@nxp.com>

riscv: create makefiles and directories tree for riscv

This commits creates the very first makefiles, directories and
subdirectories for RISC-V port. It also creates a new platform flavor
named plat

riscv: create makefiles and directories tree for riscv

This commits creates the very first makefiles, directories and
subdirectories for RISC-V port. It also creates a new platform flavor
named plat-spike. Spike is a reference functional RISC-V ISA simulator
which provides full system emulation and it is developed alongside the
RISC-V toolchain.

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/.azure-pipelines.yml
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/kernel/thread_arch.h
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/mm/sp_mem.c
/optee_os/core/arch/arm/plat-amlogic/conf.mk
/optee_os/core/arch/arm/plat-d02/conf.mk
/optee_os/core/arch/arm/plat-hikey/conf.mk
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/drivers/sub.mk
/optee_os/core/arch/arm/plat-imx/link.mk
/optee_os/core/arch/arm/plat-imx/registers/imx6.h
/optee_os/core/arch/arm/plat-imx/registers/imx7.h
/optee_os/core/arch/arm/plat-imx/registers/imx8m.h
/optee_os/core/arch/arm/plat-k3/conf.mk
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul.c
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul.h
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul_rng.c
/optee_os/core/arch/arm/plat-k3/drivers/sec_proxy.c
/optee_os/core/arch/arm/plat-k3/drivers/sec_proxy.h
/optee_os/core/arch/arm/plat-k3/drivers/sub.mk
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci.c
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci.h
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci_protocol.h
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-k3/platform_config.h
/optee_os/core/arch/arm/plat-k3/sub.mk
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-ls/crypto_conf.mk
/optee_os/core/arch/arm/plat-marvell/conf.mk
/optee_os/core/arch/arm/plat-mediatek/conf.mk
/optee_os/core/arch/arm/plat-poplar/conf.mk
/optee_os/core/arch/arm/plat-rockchip/conf.mk
/optee_os/core/arch/arm/plat-rpi3/conf.mk
/optee_os/core/arch/arm/plat-rzg/conf.mk
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sprd/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_syscfg.c
/optee_os/core/arch/arm/plat-stm32mp1/pm/psci.c
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-sunxi/conf.mk
/optee_os/core/arch/arm/plat-synquacer/conf.mk
/optee_os/core/arch/arm/plat-ti/a9_plat_init.S
/optee_os/core/arch/arm/plat-ti/api_monitor_index_a15.h
/optee_os/core/arch/arm/plat-ti/api_monitor_index_a9.h
/optee_os/core/arch/arm/plat-ti/conf.mk
/optee_os/core/arch/arm/plat-ti/platform_config.h
/optee_os/core/arch/arm/plat-ti/sm_platform_handler_a15.c
/optee_os/core/arch/arm/plat-ti/sm_platform_handler_a9.c
/optee_os/core/arch/arm/plat-ti/ti_pl310.c
/optee_os/core/arch/arm/plat-totalcompute/conf.mk
/optee_os/core/arch/arm/plat-uniphier/conf.mk
/optee_os/core/arch/arm/plat-versal/conf.mk
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-zynqmp/conf.mk
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/arch/riscv/kernel/link.mk
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/plat-spike/conf.mk
/optee_os/core/arch/riscv/plat-spike/sub.mk
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/crypto.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/atmel_rtc.c
/optee_os/core/drivers/atmel_tcb.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/utils/utils_sgt.c
/optee_os/core/drivers/crypto/se050/adaptors/utils/scp_config.c
/optee_os/core/drivers/imx_snvs.c
/optee_os/core/drivers/pm/sam/pm_suspend.S
/optee_os/core/drivers/scmi-msg/base.c
/optee_os/core/drivers/scmi-msg/clock.c
/optee_os/core/drivers/scmi-msg/common.h
/optee_os/core/drivers/scmi-msg/entry.c
/optee_os/core/drivers/scmi-msg/shm_msg.c
/optee_os/core/drivers/scmi-msg/smt.c
/optee_os/core/drivers/scmi-msg/sub.mk
/optee_os/core/drivers/scmi-msg/voltage_domain.c
/optee_os/core/drivers/smccc_trng.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/tpm2/sub.mk
/optee_os/core/drivers/tpm2/tpm2_chip.c
/optee_os/core/drivers/tpm2/tpm2_cmd.c
/optee_os/core/drivers/tpm2/tpm2_tcg.c
/optee_os/core/drivers/xiphera_trng.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/atmel_rtc.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/drivers/imx_snvs.h
/optee_os/core/include/drivers/scmi-msg.h
/optee_os/core/include/drivers/tpm2_chip.h
/optee_os/core/include/dt-bindings/gpio/atmel,piobu.h
/optee_os/core/include/io.h
/optee_os/core/include/kernel/tcg.h
/optee_os/core/include/mm/sp_mem.h
/optee_os/core/include/mm/vm.h
/optee_os/core/include/tpm2.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tcg.c
/optee_os/core/kernel/user_access.c
/optee_os/core/lib/libtomcrypt/acipher_helpers.h
/optee_os/core/lib/libtomcrypt/src/pk/ec25519/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/x25519/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/x25519/x25519_make_key.c
/optee_os/core/lib/libtomcrypt/src/sub.mk
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/libtomcrypt/tomcrypt.c
/optee_os/core/lib/libtomcrypt/x25519.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/scmi.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/ldelf/ta_elf_rel.c
/optee_os/lib/libutee/include/pta_scmi_client.h
/optee_os/lib/libutee/include/tee_api_defines.h
/optee_os/lib/libutee/include/tee_api_defines_extensions.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/tee_api_operations.c
arch/riscv/sub.mk
/optee_os/lib/libutils/isoc/arch/riscv/sub.mk
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/mk/config.mk
/optee_os/mk/subdir.mk
/optee_os/scripts/bin_to_c.py
/optee_os/scripts/symbolize.py
a0e8ffe904-Apr-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: add support for MTE

Adds support for the Armv8.5-A Memory Tagging Extension with
CFG_MEMTAG=y.

A memtag.h API is introduced to handle this extension. If CFG_MEMTAG=n
the API doesn't add any o

core: add support for MTE

Adds support for the Armv8.5-A Memory Tagging Extension with
CFG_MEMTAG=y.

A memtag.h API is introduced to handle this extension. If CFG_MEMTAG=n
the API doesn't add any overhead and the behaviour is unchanged. With
CFG_MEMTAG=y a check is performed to see if the platform can support MTE
and the API is dynamically configured accordingly. This means that it's
safe to have CFG_MEMTAG=y even for platforms not supporting MTE. There
will be some minimal overhead then, but likely not noticeable.

An entry is also added in the TEE_PROPSET_TEE_IMPLEMENTATION for a u32
property "org.trustedfirmware.optee.cpu.feat_memtag_implemented". The
property is set to a non-zero value only if CFG_CORE_MEMTAG is
configured and the underlying CPU supports FEAT_MTE.

This commit still only uses the default tag with the value 0 resulting
in unchanged pointers when accessing memory. However, all plumbing is in
place allowing for instance tagging of the heap in a later commit.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

123456789