History log of /optee_os/core/kernel/ (Results 226 – 250 of 502)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
ec1aa4fa05-Sep-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: add offset argument to shdr_alloc_and_copy()

Adds an offset argument to shdr_alloc_and_copy() to make it easier to
copy a signed header located further into a non-secure buffer.

Reviewed-by:

core: add offset argument to shdr_alloc_and_copy()

Adds an offset argument to shdr_alloc_and_copy() to make it easier to
copy a signed header located further into a non-secure buffer.

Reviewed-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 ...

d228945024-Mar-2022 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

core: dt_driver: Add driver probing to use secure device tree

When secure external device tree is configured for use OP-TEE's drivers
should be loaded based on its definitions. Add support to probe

core: dt_driver: Add driver probing to use secure device tree

When secure external device tree is configured for use OP-TEE's drivers
should be loaded based on its definitions. Add support to probe drivers
also with secure external device tree.

This allows common system device tree to be used to define devices for
bootloaders and OP-TEE.

In any case if embedded device tree is defined this will take precedense.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

a5d5bbc825-Mar-2022 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

core: dt: Make it possible to alter device mapping

In case where IP core device is TrustZone aware and is used by both REE
and TEE dt_map_dev() would normally cause non-secure mapping for the
device

core: dt: Make it possible to alter device mapping

In case where IP core device is TrustZone aware and is used by both REE
and TEE dt_map_dev() would normally cause non-secure mapping for the
device.

When selected registers in IP core are only accessible by TrustZone device
needs to be mapped with MEM_AREA_IO_SEC to cause actual AXI memory access
be made with AWPROT[1] and ARPROT[1] bits configured properly.

This adds new argument for dt_map_dev() to enable forcing mapping to be
secure or non-secure.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/arm32.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/mm/pgt_cache.c
/optee_os/core/arch/arm/plat-k3/conf.mk
/optee_os/core/arch/arm/plat-k3/platform_config.h
/optee_os/core/arch/arm/plat-zynq7k/conf.mk
/optee_os/core/arch/arm/sm/sm.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/sam/sama5d2_clk.c
/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/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/xiphera_trng.c
/optee_os/core/include/crypto/crypto_impl.h
/optee_os/core/include/kernel/dt.h
dt.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/mm/vm.c
/optee_os/core/tee/fs_htree.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/libutils/ext/include/compiler.h
/optee_os/typedefs.checkpatch
4440385e09-Oct-2022 Jorge Ramirez-Ortiz <jorge@foundries.io>

core: ts_manager: remove unneeded check

The function ts_get_current_session() can not return NULL as panic()
would abort the execution in that case.

Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundr

core: ts_manager: remove unneeded check

The function ts_get_current_session() can not return NULL as panic()
would abort the execution in that case.

Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/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/thread.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/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-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/shared_resources.c
/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/crypto.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/crypto/se050/core/storage.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/versal_pm.c
/optee_os/core/drivers/xiphera_trng.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/stm32mp1_rcc.h
/optee_os/core/include/drivers/versal_pm.h
/optee_os/core/include/mm/pgt_cache.h
/optee_os/core/include/mm/tee_pager.h
ts_manager.c
/optee_os/core/lib/libtomcrypt/ed25519.c
/optee_os/core/lib/libtomcrypt/src/pk/ed25519/ed25519_make_key.c
/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/libutils/ext/include/util.h
/optee_os/lib/libutils/isoc/bget.c
/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
b7acc3c908-Jun-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: call pgt_flush_ctx() from vm_info_final()

Moves the call to pgt_flush_ctx() into vm_info_final() from
destroy_context() and tee_ta_init_user_ta_session().

Reviewed-by: Etienne Carriere <etien

core: call pgt_flush_ctx() from vm_info_final()

Moves the call to pgt_flush_ctx() into vm_info_final() from
destroy_context() and tee_ta_init_user_ta_session().

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

show more ...

f5154eb308-Jun-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: call tee_pager_rem_um_regions() from vm_info_final()

Moves the call to tee_pager_rem_um_regions() into vm_info_final() from
free_utc() and stmm_ctx_destroy().

Reviewed-by: Etienne Carriere <e

core: call tee_pager_rem_um_regions() from vm_info_final()

Moves the call to tee_pager_rem_um_regions() into vm_info_final() from
free_utc() and stmm_ctx_destroy().

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

show more ...

e17e7a5607-Jun-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: move pgt_cache to struct user_mode_ctx

Moves pgt_cache from struct thread_specific_data to struct
user_mode_ctx.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome F

core: move pgt_cache to struct user_mode_ctx

Moves pgt_cache from struct thread_specific_data to struct
user_mode_ctx.

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

show more ...

60d3fc6908-Jun-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: initialize struct user_mode_ctx with vm_info_init()

Broadens the scope of vm_info_init() to initialize the entire struct
user_mode_ctx.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.

core: initialize struct user_mode_ctx with vm_info_init()

Broadens the scope of vm_info_init() to initialize the entire struct
user_mode_ctx.

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

show more ...

93dc6b2923-Sep-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: add pointer authentication support

Previously pointer authentication was only supported for TAs. With this
patch add a configuration option CFG_CORE_PAUTH to enable support for
core. Each priv

core: add pointer authentication support

Previously pointer authentication was only supported for TAs. With this
patch add a configuration option CFG_CORE_PAUTH to enable support for
core. Each privileged thread has its own APIA key. There are also a
separate APIA key for each physical core used when handling an abort or
when using the tmp stack.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci-cancel.yml
/optee_os/.github/workflows/ci.yml
/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/link.mk
/optee_os/core/arch/arm/kernel/secure_partition.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/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/registers/imx8m.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/pm/psci.c
/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/link.mk
/optee_os/core/arch/arm/plat-versal/platform_config.h
/optee_os/core/arch/arm/plat-zynqmp/conf.mk
/optee_os/core/crypto.mk
/optee_os/core/crypto/crypto.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/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/sub.mk
/optee_os/core/drivers/versal_gpio.c
/optee_os/core/drivers/versal_mbox.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/versal_gpio.h
/optee_os/core/include/drivers/versal_mbox.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
thread.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/tee/tee_svc_cryp.c
/optee_os/ldelf/link.mk
/optee_os/lib/libutee/arch/arm/utee_syscalls_a32.S
/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
/optee_os/lib/libutils/ext/arch/arm/atomic_a32.S
/optee_os/lib/libutils/ext/arch/arm/mcount_a32.S
/optee_os/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
/optee_os/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
/optee_os/lib/libutils/isoc/arch/arm/setjmp_a32.S
/optee_os/lib/libutils/isoc/include/assert.h
/optee_os/mk/config.mk
/optee_os/ta/arch/arm/ta_entry_a32.S
/optee_os/ta/ta.mk
28d6e35a23-Aug-2022 Jerome Forissier <jerome.forissier@linaro.org>

core: stack check: fix debug message

The lower limit for thread stacks printed by print_stack_limits()
when CFG_CORE_DEBUG_CHECK_STACKS=y is incorrect. It needs to be
increased by STACK_CHECK_EXTRA

core: stack check: fix debug message

The lower limit for thread stacks printed by print_stack_limits()
when CFG_CORE_DEBUG_CHECK_STACKS=y is incorrect. It needs to be
increased by STACK_CHECK_EXTRA to be consistent with the value
returned by get_stack_soft_limits(). While we're at it, improve
the SP out of range message to make it EMSG() rather than DMSG() and
show the stack limits. This makes it easier to identify in which
stack the pointer was supposed to be.

Here is an example of a stack overflow panic in thread 0:

D/TC:? 0 ldelf_syscall_open_bin:142 Lookup user TA ELF cb3e5ba0-adf1-11e0-998b-0002a5d5c51b (Secure Storage TA)
E/TC:? 0 Stack pointer out of range! 0x7e7bd618 not in [0x7e7bd630 .. 0x7e7bf030]
D/TC:? 0 print_stack_limits:179 tmp [0] 0x7e7c1c90..0x7e7c24b0
D/TC:? 0 print_stack_limits:179 tmp [1] 0x7e7c2ad0..0x7e7c32f0
D/TC:? 0 print_stack_limits:179 tmp [2] 0x7e7c3910..0x7e7c4130
D/TC:? 0 print_stack_limits:179 tmp [3] 0x7e7c4750..0x7e7c4f70
D/TC:? 0 print_stack_limits:184 abt [0] 0x7e7b8710..0x7e7b9330
D/TC:? 0 print_stack_limits:184 abt [1] 0x7e7b9950..0x7e7ba570
D/TC:? 0 print_stack_limits:184 abt [2] 0x7e7bab90..0x7e7bb7b0
D/TC:? 0 print_stack_limits:184 abt [3] 0x7e7bbdd0..0x7e7bc9f0
D/TC:? 0 print_stack_limits:189 thr [0] 0x7e7bd630..0x7e7bf030
D/TC:? 0 print_stack_limits:189 thr [1] 0x7e7bfc70..0x7e7c1670
E/TC:1 0 Panic at core/kernel/thread.c:207 <check_stack_limits>
E/TC:1 0 TEE load address @ 0x7e6e5000
E/TC:1 0 Call stack:
E/TC:1 0 0x7e6f1b10 print_kernel_stack at optee_os/core/arch/arm/kernel/unwind_arm64.c:80
E/TC:1 0 0x7e7071b8 __do_panic at optee_os/core/kernel/panic.c:24
E/TC:1 0 0x7e70cd14 check_stack_limits at optee_os/core/kernel/thread.c:207
E/TC:1 0 0x7e70dcd8 __cyg_profile_func_enter at optee_os/core/kernel/thread.c:237
E/TC:1 0 0x7e766b74 memset at optee_os/lib/libutils/isoc/newlib/memset.c:76
E/TC:1 0 0x7e768928 memzero_explicit at optee_os/lib/libutils/ext/memzero_explicit.c:22
E/TC:1 0 0x7e74de54 zeromem at optee_os/core/lib/libtomcrypt/src/misc/zeromem.c:26 (discriminator 2)
E/TC:1 0 0x7e74ddd8 burn_stack at optee_os/core/lib/libtomcrypt/src/misc/burn_stack.c:24
E/TC:1 0 0x7e74a32c rijndael_ecb_encrypt at optee_os/core/lib/libtomcrypt/src/ciphers/aes/aes.c:454
E/TC:1 0 0x7e743e44 crypto_aes_enc_block at optee_os/core/lib/libtomcrypt/aes.c:45 (discriminator 2)
E/TC:1 0 0x7e6fa1d0 decrypt_block at optee_os/core/crypto/aes-gcm-sw.c:98
E/TC:1 0 0x7e6fa2ec decrypt_pl at optee_os/core/crypto/aes-gcm-sw.c:118 (discriminator 3)
E/TC:1 0 0x7e6fa400 internal_aes_gcm_update_payload_blocks at optee_os/core/crypto/aes-gcm-sw.c:143
E/TC:1 0 0x7e6f93f4 __gcm_update_payload at optee_os/core/crypto/aes-gcm.c:246
E/TC:1 0 0x7e6f9504 operation_final at optee_os/core/crypto/aes-gcm.c:273
E/TC:1 0 0x7e6f9780 __gcm_dec_final at optee_os/core/crypto/aes-gcm.c:328
E/TC:1 0 0x7e6f9840 internal_aes_gcm_dec_final at optee_os/core/crypto/aes-gcm.c:342
E/TC:1 0 0x7e6f9a64 aes_gcm_dec_final at optee_os/core/crypto/aes-gcm.c:500
E/TC:1 0 0x7e6f85cc crypto_authenc_dec_final at optee_os/core/crypto/crypto.c:427
E/TC:1 0 0x7e7352d8 authenc_decrypt_final at optee_os/core/tee/fs_htree.c:511
E/TC:1 0 0x7e736094 tee_fs_htree_read_block at optee_os/core/tee/fs_htree.c:899
E/TC:1 0 0x7e732234 ree_fs_read_primitive at optee_os/core/tee/tee_ree_fs.c:340
E/TC:1 0 0x7e7334e8 read_dent at optee_os/core/tee/fs_dirfile.c:103
E/TC:1 0 0x7e734024 tee_fs_dirfile_open at optee_os/core/tee/fs_dirfile.c:143
E/TC:1 0 0x7e731ab4 open_dirh at optee_os/core/tee/tee_ree_fs.c:552
E/TC:1 0 0x7e731b50 get_dirh at optee_os/core/tee/tee_ree_fs.c:573
E/TC:1 0 0x7e732e38 ree_fs_open at optee_os/core/tee/tee_ree_fs.c:626
E/TC:1 0 0x7e72ec60 tadb_open at optee_os/core/tee/tadb.c:227
E/TC:1 0 0x7e72f3a0 tee_tadb_open at optee_os/core/tee/tadb.c:246 (discriminator 1)
E/TC:1 0 0x7e72ff7c tee_tadb_ta_open at optee_os/core/tee/tadb.c:643
E/TC:1 0 0x7e70fed8 secstor_ta_open at optee_os/core/kernel/secstor_ta.c:19
E/TC:1 0 0x7e706648 ldelf_syscall_open_bin at optee_os/core/kernel/ldelf_syscalls.c:145
E/TC:1 0 0x7e6f54c0 tee_svc_do_call at optee_os/core/arch/arm/tee/arch_svc_a64.S:140
E/TC:1 0 0x7e6ec780 thread_svc_handler at optee_os/core/arch/arm/kernel/thread.c:1104 (discriminator 4)
E/TC:1 0 0x7e6ea35c el0_svc at optee_os/core/arch/arm/kernel/thread_a64.S:825

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>

show more ...

5956c77e23-Aug-2022 Jerome Forissier <jerome.forissier@linaro.org>

core: fix handling of CFG_STACK_THREAD_EXTRA and CFG_STACK_TMP_EXTRA

CFG_STACK_THREAD_EXTRA and CFG_STACK_TMP_EXTRA should be included in
STACK_THREAD_SIZE and STACK_TMP_SIZE, respectively, because

core: fix handling of CFG_STACK_THREAD_EXTRA and CFG_STACK_TMP_EXTRA

CFG_STACK_THREAD_EXTRA and CFG_STACK_TMP_EXTRA should be included in
STACK_THREAD_SIZE and STACK_TMP_SIZE, respectively, because not doing so
creates inconsistencies where some places use e.g., (STACK_THREAD_SIZE +
CFG_STACK_THREAD_EXTRA) while others use STACK_THREAD_SIZE only. Note
for example the discrepancy between the stack declaration:

DECLARE_STACK(stack_thread, CFG_NUM_THREADS,
STACK_THREAD_SIZE + CFG_STACK_THREAD_EXTRA, static);

...and the thread_stack_start() function:

vaddr_t thread_stack_start(void)
{
/* ... */

return thr->stack_va_end - STACK_THREAD_SIZE;
}

With this change, the _EXTRA values should also be properly taken into
account when pager is enabled, which was not the case before.

Fixes: cca7b5ebeb9b ("core: configuration switches to tune stack sizes")
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>
Tested-by: Jorge Ramirez-Ortiz <jorge@foundries.io> (STM32MP1, SE050, pager)

show more ...

4682bf0f30-Apr-2022 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

core: add allocator for cache aligned memory

Provides new common maximum cache line aligned allocator for allocating
memory to be used when communicating with different peripherals within the
CPU.

core: add allocator for cache aligned memory

Provides new common maximum cache line aligned allocator for allocating
memory to be used when communicating with different peripherals within the
CPU.

Allocated memory can be readily used with cache maintenance operations.

This is based on core/drivers/imx/dcp/dcp_utils.c.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

f6b4561a29-Jul-2022 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

core: sort includes in tee_misc.c

Sort includes to keep it clean.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>


/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/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/include/kernel/cache_helpers.h
/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.c
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul_rng.c
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci.c
/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-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/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
tee_misc.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/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
/optee_os/lib/libutils/ext/include/util.h
/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
0f9f9a3707-Jun-2022 Gatien Chevallier <gatien.chevallier@foss.st.com>

core: dt_driver: rework dt_driver_register_provider()

Registering a provider shouldn't fail when a provider node has no
phandle. It only means that no node refer to the provider device hence
the pro

core: dt_driver: rework dt_driver_register_provider()

Registering a provider shouldn't fail when a provider node has no
phandle. It only means that no node refer to the provider device hence
the provider reference does not need to be registered.

This change protects from issues when, for example, device-tree compiler
removes unused phandle to optimize DTB image size.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/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/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/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-rockchip/conf.mk
/optee_os/core/arch/arm/plat-sam/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/stm32_util.h
/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-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/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/link.mk
/optee_os/core/arch/riscv/kernel/spinlock.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/plat-spike/conf.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.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/se050/adaptors/utils/scp_config.c
/optee_os/core/drivers/pm/sam/pm_suspend.S
/optee_os/core/drivers/scmi-msg/clock.c
/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/xiphera_trng.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/atmel_rtc.h
/optee_os/core/include/dt-bindings/gpio/atmel,piobu.h
/optee_os/core/include/io.h
/optee_os/core/include/mm/vm.h
dt_driver.c
/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_cryp.c
/optee_os/ldelf/ta_elf_rel.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
/optee_os/lib/libutils/ext/arch/riscv/sub.mk
/optee_os/lib/libutils/isoc/arch/riscv/sub.mk
/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/config.mk
/optee_os/scripts/bin_to_c.py
52199c3528-May-2022 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

core: dt_driver: Add support for disabled devices

In systems where there are multiple instances of the devices like two TRNGs
where one is reserved for REE environment and one is for TEE environment

core: dt_driver: Add support for disabled devices

In systems where there are multiple instances of the devices like two TRNGs
where one is reserved for REE environment and one is for TEE environment
those can be defined in device tree in following way:

ree-trng {
status = "okay";
secure-status = "disabled";
...
}

tee-trng {
status = "disabled";
secure-status = "okay";
...
}

If OP-TEE has driver enabled for the device both devices will be probed.

Driver can detect device's 'status' and 'secure-status' settings and return
TEE_ERROR_NODE_DISABLED value for one that is not for its use.

This will indicate to device driver probing to continue without an error.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/kernel/secure_partition.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/main.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-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-sprd/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/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/conf.mk
/optee_os/core/arch/arm/plat-ti/platform_config.h
/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/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/utils/utils_sgt.c
/optee_os/core/drivers/imx_snvs.c
/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/tpm2/sub.mk
/optee_os/core/drivers/tpm2/tpm2_chip.c
/optee_os/core/drivers/tpm2/tpm2_tcg.c
/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
dt_driver.c
/optee_os/core/pta/scmi.c
/optee_os/lib/libutee/include/pta_scmi_client.h
/optee_os/lib/libutee/include/tee_api_defines_extensions.h
/optee_os/mk/config.mk
b8da5d8c04-Apr-2022 Ruchika Gupta <ruchika.gupta@linaro.org>

core: Add support to parse TPM eventlog and extend PCRs

Support for OP-TEE to parse the TPM eventlog. The eventlog format
is based on TCG specification [1], so we call this TCG framework.

To parse

core: Add support to parse TPM eventlog and extend PCRs

Support for OP-TEE to parse the TPM eventlog. The eventlog format
is based on TCG specification [1], so we call this TCG framework.

To parse the eventlog and extend PCR's device is needed which
supports PCR's. This device can be TPM or any other HSM which
supports PCR like registers. Such a device can register itself
as a TCG provider for PCR information and ability to extend the
PCR's.

[1] TCG PC Client Platform Firmware Profile Specification
link: https://trustedcomputinggroup.org/resource/pc-client-specific-platform-firmware-profile-specification/

Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

ef14220313-Apr-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: syscalls: strip tags from user space pointers

Strips the tags from user space pointers before using them.
We're relying on TCR_EL1.TCMA0=1 to make the accesses unchecked.

Acked-by: Jerome For

core: syscalls: strip tags from user space pointers

Strips the tags from user space pointers before using them.
We're relying on TCR_EL1.TCMA0=1 to make the accesses unchecked.

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 ...

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 ...

6105aa8612-Apr-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: map TA memory using TEE_MATTR_MEM_TYPE_TAGGED

Maps TA memory using the TEE_MATTR_MEM_TYPE_TAGGED which results in
tagged cached memory if the system has it enabled.

Acked-by: Etienne Carriere

core: map TA memory using TEE_MATTR_MEM_TYPE_TAGGED

Maps TA memory using the TEE_MATTR_MEM_TYPE_TAGGED which results in
tagged cached memory if the system has it enabled.

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

show more ...


/optee_os/.azure-pipelines.yml
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/ldelf_loader.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/vfp_a32.S
/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_dyn_shm.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2600.c
/optee_os/core/arch/arm/plat-imx/crypto_conf.mk
/optee_os/core/arch/arm/plat-k3/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-rockchip/platform_config.h
/optee_os/core/arch/arm/plat-sprd/main.c
/optee_os/core/arch/arm/plat-synquacer/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-zynqmp/main.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/crypto/aspeed/hace_ast2600.c
/optee_os/core/drivers/crypto/aspeed/hace_ast2600.h
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_jr.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_jr.c
/optee_os/core/drivers/crypto/caam/utils/utils_dmaobj.c
/optee_os/core/drivers/crypto/caam/utils/utils_mem.c
/optee_os/core/drivers/crypto/crypto_api/cipher/cipher.c
/optee_os/core/drivers/crypto/crypto_api/math/modulus.c
/optee_os/core/drivers/imx_ocotp.c
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/mobj.h
/optee_os/core/include/mm/tee_mmu_types.h
ldelf_syscalls.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/fobj.c
/optee_os/core/mm/mobj.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/system.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/lib/libutee/include/arm64_user_sysreg.h
/optee_os/lib/libutils/ext/ftrace/ftrace.c
/optee_os/lib/libutils/isoc/bget.c
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/mk/config.mk
/optee_os/scripts/gen_tee_bin.py
/optee_os/scripts/get_maintainer.py
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/src/processing_symm.c
/optee_os/ta/pkcs11/src/token_capabilities.c
f1f7c58e29-Mar-2022 Clément Léger <clement.leger@bootlin.com>

core: dt_driver: allow parsing of phandle == 0

In Linux, it is allowed to specify a null phandle which means it should
be skipped. Add support for this specific case by simply skipping over
it. This

core: dt_driver: allow parsing of phandle == 0

In Linux, it is allowed to specify a null phandle which means it should
be skipped. Add support for this specific case by simply skipping over
it. This is needed to parse assigned-clock-parents which can use such
syntax. This is specified in the clock bindings [1] which says the
following:

To skip setting parent or rate of a clock its corresponding entry
should be set to 0, or can be omitted if it is not followed by any
non-zero entry

For example this is a valid device-tree description:

assigned-clocks = <foo>, <bar>;
assigned-clock-parents = <0> <bar_parent>;
assigned-clock-rates = <1000>;

Link: [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/clock/clock-bindings.txt
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Clément Léger <clement.leger@bootlin.com>

show more ...

f6439cee07-Apr-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: fix use after free in tee_ta_open_session()

Fixes a use after free where the session pointer 's' was used after
tee_ta_close_session() while recovering from an error.

Fixes: 82061b8d7b34 ("co

core: fix use after free in tee_ta_open_session()

Fixes a use after free where the session pointer 's' was used after
tee_ta_close_session() while recovering from an error.

Fixes: 82061b8d7b34 ("core: store TA params in session struct")
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

145035ff23-Mar-2022 Imre Kis <imre.kis@arm.com>

core: FF-A: Map TPM event log for FF-A SPs

Enable passing the TPM event log to FF-A SPs if their manifest has an
"arm,tpm_event_log" compatible node. The event log is mapped to the
SP's address spac

core: FF-A: Map TPM event log for FF-A SPs

Enable passing the TPM event log to FF-A SPs if their manifest has an
"arm,tpm_event_log" compatible node. The event log is mapped to the
SP's address space and the address and size fields are updated in the
SP manifest.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Imre Kis <imre.kis@arm.com>

show more ...

bf31bf1022-Mar-2022 Imre Kis <imre.kis@arm.com>

core: Enable mapping DT from secure memory

Add CFG_MAP_EXT_DT_SECURE option to enable mapping the device tree from
the secure memory. As the device tree in the secure memory would only
have the even

core: Enable mapping DT from secure memory

Add CFG_MAP_EXT_DT_SECURE option to enable mapping the device tree from
the secure memory. As the device tree in the secure memory would only
have the event log address in the secure memory the property name is
changed from tpm_event_log_sm_addr to the standard tpm_event_log_addr
when CFG_MAP_EXT_DT_SECURE is enabled.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Imre Kis <imre.kis@arm.com>

show more ...

d783b68119-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: drivers to test probe deferral

Implements driver providers for some emulated resource (clocks and reset
controllers), consumer drivers and a embedded test DTSI file to
test the DT_D

core: dt_driver: drivers to test probe deferral

Implements driver providers for some emulated resource (clocks and reset
controllers), consumer drivers and a embedded test DTSI file to
test the DT_DRIVER probe sequence.

The driver consumer run few tests and logs results locally. The
result participates in core self test result reported by the
PTA test interface.

One can test with vexpress platform flavor qemu_virt and qemu_v8 using,
for example, the build instruction below:
make PLATFORM=vexpress-qemu_virt \
CFG_DT_DRIVER_EMBEDDED_TEST=y \
CFG_EMBED_DTB_SOURCE_FILE=embedded_dtb_test.dts

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

show more ...


/optee_os/MAINTAINERS
/optee_os/Makefile
/optee_os/core/arch/arm/dts/dt_driver_test.dtsi
/optee_os/core/arch/arm/dts/embedded_dtb_test.dts
/optee_os/core/arch/arm/dts/stm32mp151.dtsi
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/dts/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/mm/sp_mem.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2600.c
/optee_os/core/arch/arm/plat-imx/registers/imx8q.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/stm32_util.h
/optee_os/core/drivers/clk/clk-stm32-core.c
/optee_os/core/drivers/clk/clk-stm32-core.h
/optee_os/core/drivers/clk/clk-stm32mp13.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/sub.mk
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/crypto/stm32/stm32_cryp.h
/optee_os/core/drivers/stm32_iwdg.c
/optee_os/core/drivers/stm32_tamp.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/stm32_iwdg.h
/optee_os/core/include/drivers/stm32_tamp.h
/optee_os/core/include/drivers/stm32mp13_rcc.h
/optee_os/core/include/drivers/stm32mp_dt_bindings.h
/optee_os/core/include/dt-bindings/clock/stm32mp13-clks.h
/optee_os/core/include/dt-bindings/clock/stm32mp13-clksrc.h
/optee_os/core/include/dt-bindings/reset/stm32mp13-resets.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/mm/sp_mem.h
dt_driver_test.c
sub.mk
/optee_os/core/pta/tests/invoke.c
/optee_os/core/pta/tests/misc.c
/optee_os/core/pta/tests/misc.h
/optee_os/lib/libutee/include/pta_invoke_tests.h
/optee_os/mk/config.mk
876826f315-Feb-2021 Gabriel Fernandez <gabriel.fernandez@foss.st.com>

core: dt: add kernel DT API to retrieved device information from DT

Add _fdt_read_uint32_array(), _fdt_read_uint32(),
_fdt_read_uint32_default(), _fdt_check_node() functions.

Acked-by: Etienne Carr

core: dt: add kernel DT API to retrieved device information from DT

Add _fdt_read_uint32_array(), _fdt_read_uint32(),
_fdt_read_uint32_default(), _fdt_check_node() functions.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>

show more ...

12345678910>>...21