History log of /optee_os/lib/ (Results 76 – 100 of 883)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
86ee543b07-Mar-2024 Sami Tolvanen <samitolvanen@google.com>

core: pass TEE_ATTR_RSA_OAEP_MGF_HASH to RSA-OAEP implementations

OP-TEE currently doesn't support using a different hash for MGF1
with RSA-OAEP. However, this is required for AOSP compatibility
(e.

core: pass TEE_ATTR_RSA_OAEP_MGF_HASH to RSA-OAEP implementations

OP-TEE currently doesn't support using a different hash for MGF1
with RSA-OAEP. However, this is required for AOSP compatibility
(e.g. in EncryptionOperationsTest.RsaOaepWithMGFDigestSuccess [1]).

Pass the MGF1 attribute to crypto implementations. Note that
only libtomcrypt supports this feature at the moment, so other
implementations will either fail or fall back to libtomcrypt when
passed a different MGF1 hash.

Link: https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/main/security/keymint/aidl/vts/functional/KeyMintTest.cpp#5552 [1]
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

47d5e6cb14-Jun-2024 Jerome Forissier <jerome.forissier@linaro.org>

libutils, zlib: fix Clang warnings

Clang 18.1.6 reports the following warnings:

CC out/arm/ldelf-lib/libutils/isoc/bget_malloc.o
In file included from lib/libutils/isoc/bget_malloc.c:127:

libutils, zlib: fix Clang warnings

Clang 18.1.6 reports the following warnings:

CC out/arm/ldelf-lib/libutils/isoc/bget_malloc.o
In file included from lib/libutils/isoc/bget_malloc.c:127:
lib/libutils/isoc/bget.c:607:7: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
607 | void *bget(requested_align, hdr_size, requested_size, poolset)
| ^

And same with lib/zlib/{adler32.c,inffast.c,inflate.c,zutil.c}.

In addition, zutil.c causes:

CC out/arm/core/lib/zlib/zutil.o
core/lib/zlib/zutil.c:28:33: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
28 | const char * ZEXPORT zlibVersion()
| ^
| void

Add -Wno-deprecated-non-prototype to libutils' bget_malloc.c to silence
the first series, and simply remove -Wstrict-prototypes (added by
default by mk/compile.mk) when building zlib.

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

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/stmm_sp.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/mm/sub.mk
/optee_os/core/arch/arm/mm/tee_pager.c
/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-hikey/platform_config.h
/optee_os/core/arch/riscv/include/kernel/stmm_sp.h
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/plat-virt/conf.mk
/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/pm/sam/at91_pm.c
/optee_os/core/drivers/pm/sam/at91_pm.h
/optee_os/core/drivers/pm/sam/pm-defines.c
/optee_os/core/drivers/pm/sam/pm_suspend.S
/optee_os/core/include/drivers/sam/sama7-ddr.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/mutex.h
/optee_os/core/include/kernel/pseudo_ta.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/include/kernel/user_ta.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/tee_mm.h
/optee_os/core/kernel/boot.c
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/pseudo_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/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/aes_accel.c
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/lib/zlib/sub.mk
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/mobj_dyn_shm.c
/optee_os/core/mm/sub.mk
/optee_os/core/mm/tee_mm.c
libutils/isoc/sub.mk
/optee_os/mk/checkconf.mk
/optee_os/scripts/ftrace_format.py
5b6f4be828-May-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: compiler friendly 32-bit FTMN_FUNC_HASH() version

Add a more compiler friendly 32-bit implementation of FTMN_FUNC_HASH().
This gives the same output as the previous 64-bit based implementation

core: compiler friendly 32-bit FTMN_FUNC_HASH() version

Add a more compiler friendly 32-bit implementation of FTMN_FUNC_HASH().
This gives the same output as the previous 64-bit based implementation,
but base the computation on 32-bit values.

This patch reduces stack usage when compiling with
arm-linux-gnueabihf-gcc version 11.3.1 using -O0 optimization. For
example, sw_crypto_acipher_rsassa_verify() is reduced from 3616 bytes to
284 bytes.

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

show more ...


/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-mediatek/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/crypto/signed_hdr.c
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/clk/sam/at91_pmc.h
/optee_os/core/drivers/crypto/hisilicon/crypto.mk
/optee_os/core/drivers/crypto/hisilicon/hisi_qm.h
/optee_os/core/drivers/crypto/hisilicon/hpre_dh.c
/optee_os/core/drivers/crypto/hisilicon/hpre_dh.h
/optee_os/core/drivers/crypto/hisilicon/hpre_main.c
/optee_os/core/drivers/crypto/hisilicon/hpre_main.h
/optee_os/core/drivers/crypto/hisilicon/sec_hash.c
/optee_os/core/drivers/crypto/hisilicon/sec_hash.h
/optee_os/core/drivers/crypto/hisilicon/sec_hmac.c
/optee_os/core/drivers/crypto/hisilicon/sec_main.c
/optee_os/core/drivers/crypto/hisilicon/sec_main.h
/optee_os/core/drivers/crypto/hisilicon/sub.mk
/optee_os/core/drivers/crypto/stm32/cipher.c
/optee_os/core/drivers/ffa_console.c
/optee_os/core/drivers/firewall/firewall.c
/optee_os/core/drivers/firewall/sub.mk
/optee_os/core/drivers/pm/sam/at91_pm.c
/optee_os/core/drivers/regulator/regulator.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/atmel_shdwc.h
/optee_os/core/include/drivers/ffa_console.h
/optee_os/core/include/drivers/firewall.h
/optee_os/core/include/drivers/firewall_device.h
/optee_os/core/include/drivers/pm/sam/atmel_pm.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/mutex.h
/optee_os/core/include/kernel/spinlock.h
/optee_os/core/kernel/console.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/lib/libtomcrypt/aes.c
/optee_os/core/lib/libtomcrypt/aes_accel.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aes.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aes_desc.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aesni.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_test.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_memory.c
/optee_os/core/lib/libtomcrypt/src/hashes/tiger.c
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt.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_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/math/fp/ltc_ecc_fp_mulmod.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt.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/pkcs5/pkcs_5_test.c
/optee_os/core/lib/libtomcrypt/src/misc/ssh/ssh_encode_sequence_multi.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_encode_custom_type.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/utf8/der_decode_utf8_string.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_import.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_get_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_import_pkcs8.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_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_verify_hash.c
/optee_os/core/lib/libtomcrypt/src/prngs/fortuna.c
/optee_os/core/lib/libtomcrypt/src/prngs/rng_get_bytes.c
/optee_os/core/lib/libtomcrypt/sub.mk
libutils/ext/include/fault_mitigation.h
/optee_os/mk/config.mk
e716d49810-Apr-2024 Tony Han <tony.han@microchip.com>

libutils: util.h: fix the GENMASK_32(h, l) macro

The macro has a problem when it is used in an assembly file:
.e.g ".word GENMASK_32(15, 8)" will be compiled to ".word 0xffffff00"

The issue is caus

libutils: util.h: fix the GENMASK_32(h, l) macro

The macro has a problem when it is used in an assembly file:
.e.g ".word GENMASK_32(15, 8)" will be compiled to ".word 0xffffff00"

The issue is caused by the compiler always treating ~0 as a 64-bit
value. Fix it by replacing '~UINT32_C(0)' with 'UINT32_C(0xffffffff)'.

Signed-off-by: Tony Han <tony.han@microchip.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

5957a0bd22-Apr-2024 Jens Wiklander <jens.wiklander@linaro.org>

libutee: handle buffer_two_blocks correctly

For operations with buffer_two_blocks true, calculate the required size
of the out buffer (req_dlen) correctly in TEE_CipherUpdate().
tee_buffer_update()

libutee: handle buffer_two_blocks correctly

For operations with buffer_two_blocks true, calculate the required size
of the out buffer (req_dlen) correctly in TEE_CipherUpdate().
tee_buffer_update() is fixed with a matching update.

buffer_two_blocks set to true mandates buffering at least one block + a
byte and at most two full blocks.

Fix needed by TEE_ALG_AES_CTS and TEE_ALG_AES_XTS.

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

show more ...

aeb530a505-Mar-2024 Sami Tolvanen <samitolvanen@google.com>

libutee: process a full buffer immediately

In tee_buffer_update, libutee currently delays processing an input
block until more space is needed in the buffer, which is perfectly
valid behavior, but d

libutee: process a full buffer immediately

In tee_buffer_update, libutee currently delays processing an input
block until more space is needed in the buffer, which is perfectly
valid behavior, but doesn't match AOSP compatibility requirements.

Specifically, both CTS (testKatEncryptOneByteAtATime [1]) and VTS
(EncryptionOperationsTest.*OneByteAtATime [2]) expect block cipher
implementations to produce an output block as soon as a full block
of input has been received. Change libutee behavior to be AOSP
compatible.

Link: https://android.googlesource.com/platform/cts/+/refs/heads/main/tests/tests/keystore/src/android/keystore/cts/BlockCipherTestBase.java#779 [1]
Link: https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/main/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp#827 [2]
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
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/dts/at91-sama7g54_ek.dts
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/dts/sama7g5-pinfunc.h
/optee_os/core/arch/arm/dts/sama7g5.dtsi
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/delay_arch.h
/optee_os/core/arch/arm/include/kernel/thread_private_arch.h
/optee_os/core/arch/arm/include/kernel/thread_spmc.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/generic_timer.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/semihosting_a64.S
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/tee_time_arm_cntpct.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/timer_a64.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/plat-amlogic/main.c
/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/main.c
/optee_os/core/arch/arm/plat-corstone1000/main.c
/optee_os/core/arch/arm/plat-d02/main.c
/optee_os/core/arch/arm/plat-d06/main.c
/optee_os/core/arch/arm/plat-hikey/main.c
/optee_os/core/arch/arm/plat-hisilicon/main.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-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/main.c
/optee_os/core/arch/arm/plat-poplar/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-rpi3/main.c
/optee_os/core/arch/arm/plat-rzg/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/platform_sama5d2.c
/optee_os/core/arch/arm/plat-sam/platform_sama7g5.c
/optee_os/core/arch/arm/plat-sam/sub.mk
/optee_os/core/arch/arm/plat-sprd/console.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/main.c
/optee_os/core/arch/arm/plat-sunxi/main.c
/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-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-vexpress/platform_config.h
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/riscv/include/kernel/delay_arch.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/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/include/sbi.h
/optee_os/core/arch/riscv/kernel/abort.c
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/csr_detect.S
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/kernel/sbi.c
/optee_os/core/arch/riscv/kernel/sbi_console.c
/optee_os/core/arch/riscv/kernel/semihosting_rv.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/tee_time_rdtime.c
/optee_os/core/arch/riscv/kernel/thread_arch.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/mm/core_mmu_arch.c
/optee_os/core/arch/riscv/plat-spike/main.c
/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/core.mk
/optee_os/core/crypto.mk
/optee_os/core/drivers/atmel_tcb.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/clk/clk-stm32mp13.c
/optee_os/core/drivers/clk/clk.c
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/clk/sam/sama7g5_clk.c
/optee_os/core/drivers/clk/sam/sub.mk
/optee_os/core/drivers/crypto/hisilicon/hpre_main.c
/optee_os/core/drivers/crypto/hisilicon/include/hpre_main.h
/optee_os/core/drivers/crypto/hisilicon/sub.mk
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/firewall/stm32_rifsc.c
/optee_os/core/drivers/nvmem/nvmem_die_id.c
/optee_os/core/drivers/nvmem/nvmem_huk.c
/optee_os/core/drivers/nvmem/sub.mk
/optee_os/core/drivers/regulator/regulator.c
/optee_os/core/drivers/riscv_zkr_rng.c
/optee_os/core/drivers/semihosting_console.c
/optee_os/core/drivers/stm32_fmc.c
/optee_os/core/drivers/stm32_hpdma.c
/optee_os/core/drivers/stm32_hsem.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_ipcc.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/console.h
/optee_os/core/include/drivers/clk.h
/optee_os/core/include/drivers/regulator.h
/optee_os/core/include/drivers/semihosting_console.h
/optee_os/core/include/drivers/stm32_i2c.h
/optee_os/core/include/drivers/stm32_rif.h
/optee_os/core/include/drivers/stpmic1_regulator.h
/optee_os/core/include/dt-bindings/clock/at91.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rif.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rifsc.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/callout.h
/optee_os/core/include/kernel/delay.h
/optee_os/core/include/kernel/mutex.h
/optee_os/core/include/kernel/mutex_pm_aware.h
/optee_os/core/include/kernel/notif.h
/optee_os/core/include/kernel/semihosting.h
/optee_os/core/include/kernel/spinlock.h
/optee_os/core/include/kernel/timer.h
/optee_os/core/include/kernel/wait_queue.h
/optee_os/core/include/optee_rpc_cmd.h
/optee_os/core/kernel/callout.c
/optee_os/core/kernel/console.c
/optee_os/core/kernel/delay.c
/optee_os/core/kernel/mutex.c
/optee_os/core/kernel/notif.c
/optee_os/core/kernel/notif_default.c
/optee_os/core/kernel/panic.c
/optee_os/core/kernel/semihosting.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_time.c
/optee_os/core/kernel/tee_time_ree.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/kernel/wait_queue.c
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tests/notif_test_wd.c
/optee_os/core/tests/sub.mk
/optee_os/ldelf/ta_elf.c
libutee/tee_api_operations.c
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/src/processing_symm.c
/optee_os/ta/remoteproc/src/remoteproc_core.c
f459d3c721-Feb-2024 Alvin Chang <alvinga@andestech.com>

libutils: Import part of sys/fcntl.h

Import part of sys/fcntl.h for necessary file flags, from newlib:
- newlib/newlib/libc/include/sys/fcntl.h

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Ac

libutils: Import part of sys/fcntl.h

Import part of sys/fcntl.h for necessary file flags, from newlib:
- newlib/newlib/libc/include/sys/fcntl.h

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

339a78c222-Feb-2024 Jerome Forissier <jerome.forissier@linaro.org>

libunw: riscv: simplify architecture test

Test ARCH rather than CFG_RV32_$(sm) and CFG_RV64_$(sm).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etien

libunw: riscv: simplify architecture test

Test ARCH rather than CFG_RV32_$(sm) and CFG_RV64_$(sm).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

9fed451622-Feb-2024 Jerome Forissier <jerome.forissier@linaro.org>

libunw: arm: unwind_arm32.c should be compiled only for Arm

unwind_arm32.c contains functions to unwind arm32 code. This is used
when libunw is built for arm32 or arm64, in other words when ARCH=arm

libunw: arm: unwind_arm32.c should be compiled only for Arm

unwind_arm32.c contains functions to unwind arm32 code. This is used
when libunw is built for arm32 or arm64, in other words when ARCH=arm.
Other architectures (such as ARCH=riscv) obviously don't need it.

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

show more ...


/optee_os/MAINTAINERS
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1-ca35tdcid-rif.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1.dts
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/riscv/mm/core_mmu_arch.c
/optee_os/core/crypto.mk
/optee_os/core/drivers/clk/clk-stm32mp13.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_prime_dsa.c
/optee_os/core/drivers/crypto/caam/acipher/caam_prime_rsa.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_key.c
/optee_os/core/drivers/crypto/caam/caam_rng.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hash/caam_hash_mac.c
/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_key.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_status.h
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/firewall/stm32_rif.c
/optee_os/core/drivers/firewall/stm32_rifsc.c
/optee_os/core/drivers/firewall/sub.mk
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/stm32_rif.h
/optee_os/core/include/drivers/stm32mp_dt_bindings.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rif.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rifsc.h
/optee_os/core/include/io.h
/optee_os/core/kernel/panic.c
/optee_os/core/mm/core_mmu.c
/optee_os/ldelf/ta_elf_rel.c
libunw/sub.mk
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/src/pkcs11_token.c
/optee_os/ta/pkcs11/src/pkcs11_token.h
/optee_os/ta/pkcs11/src/processing.c
/optee_os/ta/pkcs11/src/processing.h
/optee_os/ta/pkcs11/src/processing_aes.c
/optee_os/ta/pkcs11/src/processing_asymm.c
/optee_os/ta/pkcs11/src/processing_symm.c
/optee_os/ta/pkcs11/src/token_capabilities.c
cf2c8f0917-Jan-2024 Alvin Chang <alvinga@andestech.com>

libutils: Implement speculation barrier for RISC-V

Implement load_no_speculate() with implementation consists of RISC-V
fence instructions which are used to preserve the memory order.

- Data barrie

libutils: Implement speculation barrier for RISC-V

Implement load_no_speculate() with implementation consists of RISC-V
fence instructions which are used to preserve the memory order.

- Data barrier: fence rw, rw
- Instruction barrier: fence.i; fence r, r

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com>

show more ...

ad19495713-Oct-2023 Yi Chou <yich@google.com>

core: pta: widevine: Add the init implementation

On the new ChromeOS mediatek platform, we will use the device tree to
pass hardware unique key and the parameters for widevine TAs.

Signed-off-by: Y

core: pta: widevine: Add the init implementation

On the new ChromeOS mediatek platform, we will use the device tree to
pass hardware unique key and the parameters for widevine TAs.

Signed-off-by: Yi Chou <yich@google.com>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/crypto/ghash-ce-core_a64.S
/optee_os/core/arch/arm/dts/fsl-lx2160a.dtsi
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/optee_ffa.h
/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/timer_a64.c
/optee_os/core/arch/arm/plat-k3/drivers/sec_proxy.c
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/riscv/kernel/kern.ld.S
/optee_os/core/crypto/aes-gcm.c
/optee_os/core/drivers/atmel_rstc.c
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/atmel_tcb.c
/optee_os/core/drivers/clk/clk-stm32mp13.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_rng.c
/optee_os/core/drivers/crypto/caam/hal/imx_8q/hal_rng.c
/optee_os/core/drivers/crypto/hisilicon/hisi_qm.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.c
/optee_os/core/drivers/hfic.c
/optee_os/core/drivers/pinctrl/atmel_pio.c
/optee_os/core/drivers/pl011.c
/optee_os/core/drivers/regulator/regulator_gpio.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/widevine_huk.c
/optee_os/core/include/drivers/atmel_rstc.h
/optee_os/core/include/drivers/serial.h
/optee_os/core/include/drivers/stm32mp1_rcc.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/lib/libtomcrypt/gcm.c
/optee_os/core/pta/sub.mk
/optee_os/core/pta/widevine.c
libutee/include/pta_widevine.h
/optee_os/mk/config.mk
59fea68316-Jan-2024 Igor Opaniuk <igor.opaniuk@foundries.io>

core: pta: drop benchmark

Drop Benchmark PTA as current implementation is non-function
and obsolete, and it's not supported anymore.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: E

core: pta: drop benchmark

Drop Benchmark PTA as current implementation is non-function
and obsolete, and it's not supported anymore.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/boot.c
/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/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_optee_smc.c
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/mobj_dyn_shm.c
/optee_os/core/arch/arm/plat-rcar/conf.mk
/optee_os/core/arch/arm/plat-sam/sam_sfr.c
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/kernel/thread_optee_abi_rv.S
/optee_os/core/arch/riscv/mm/core_mmu_arch.c
/optee_os/core/crypto/aes-gcm-ghash-tbl.c
/optee_os/core/crypto/crypto.c
/optee_os/core/crypto/sm3-hmac.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_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.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/gpio/gpio.c
/optee_os/core/drivers/nvmem/atmel_sfc.c
/optee_os/core/drivers/scmi-msg/smt.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/include/drivers/i2c.h
/optee_os/core/include/kernel/msg_param.h
/optee_os/core/kernel/console.c
/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/scall.c
/optee_os/core/kernel/tee_misc.c
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/tee_time.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/kernel/wait_queue.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/mobj.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/device.c
/optee_os/core/pta/scmi.c
/optee_os/core/pta/stats.c
/optee_os/core/pta/sub.mk
/optee_os/core/pta/system.c
/optee_os/core/pta/tests/aes_perf.c
/optee_os/core/pta/tests/dt_driver_test.c
/optee_os/core/tee/entry_std.c
/optee_os/core/tee/fs_dirfile.c
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_cryp_utl.c
/optee_os/core/tee/tee_fs_key_manager.c
/optee_os/core/tee/tee_fs_rpc.c
/optee_os/core/tee/tee_obj.c
/optee_os/core/tee/tee_pobj.c
/optee_os/core/tee/tee_ree_fs.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/core/tee/tee_time_generic.c
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf_rel.c
/optee_os/mk/config.mk
/optee_os/ta/avb/entry.c
/optee_os/ta/pkcs11/src/attributes.c
/optee_os/ta/pkcs11/src/handle.c
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/src/sanitize_object.c
5f7f88c615-Jan-2024 Sumit Garg <sumit.garg@linaro.org>

ldelf: aarch32: Accept ELFOSABI_ARM as OS ABI

Rust TAs built for no-std mode targeting 32-bit Arm architecture use
ELFOSABI_ARM as the OS ABI within ELF header. So allow ldelf to load
those Rust TAs

ldelf: aarch32: Accept ELFOSABI_ARM as OS ABI

Rust TAs built for no-std mode targeting 32-bit Arm architecture use
ELFOSABI_ARM as the OS ABI within ELF header. So allow ldelf to load
those Rust TAs built for 32-bit Arm.

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

show more ...


/optee_os/CHANGELOG.md
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/optee_os/core/arch/arm/dts/stm32mp157a-dk1-scmi.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dk2-scmi.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1-scmi.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ev1-scmi.dts
/optee_os/core/arch/arm/dts/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/tz_ssvce_pl310.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread_spmc_a64.S
/optee_os/core/arch/arm/kernel/tz_ssvce_pl310_a32.S
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/imx_pl310.c
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul_rng.c
/optee_os/core/arch/arm/plat-rcar/conf.mk
/optee_os/core/arch/arm/plat-rcar/romapi.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-sam/matrix.c
/optee_os/core/arch/arm/plat-sam/matrix.h
/optee_os/core/arch/arm/plat-sam/platform_config.h
/optee_os/core/arch/arm/plat-sam/sama7g5.h
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/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-vexpress/platform_config.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/crypto/cbc-mac.c
/optee_os/core/crypto/sm3.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/crypto.mk
/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/hisilicon/hisi_qm.c
/optee_os/core/drivers/crypto/hisilicon/include/hisi_qm.h
/optee_os/core/drivers/gpio/gpio.c
/optee_os/core/drivers/nvmem/atmel_sfc.c
/optee_os/core/drivers/nvmem/nvmem.c
/optee_os/core/drivers/nvmem/sub.mk
/optee_os/core/drivers/plic.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_iwdg.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/stm32_uart.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/nvmem.h
/optee_os/core/include/drivers/stm32_iwdg.h
/optee_os/core/include/dt-bindings/gpio/stm32mp_gpio.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/user_access.c
/optee_os/core/pta/stats.c
/optee_os/core/pta/stm32mp/sub.mk
/optee_os/core/pta/sub.mk
/optee_os/ldelf/ta_elf.c
libutee/include/elf_common.h
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/src/object.c
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/sub.mk
/optee_os/ta/remoteproc/Makefile
/optee_os/ta/remoteproc/include/ta_remoteproc.h
/optee_os/ta/remoteproc/src/elf_parser.c
/optee_os/ta/remoteproc/src/elf_parser.h
/optee_os/ta/remoteproc/src/remoteproc_core.c
/optee_os/ta/remoteproc/src/sub.mk
/optee_os/ta/remoteproc/src/user_ta_header_defines.h
/optee_os/ta/remoteproc/sub.mk
/optee_os/ta/remoteproc/user_ta.mk
8c26d0ae05-Oct-2023 Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

libutee: add TEE_U*_FROM/TO_LITTLE_ENDIAN()

The 'TEE_U*_FROM/TO_LITTLE_ENDIAN()' functions perform conversions
between a variable stored in little-endian format and the CPU format.
Currently, OP-TEE

libutee: add TEE_U*_FROM/TO_LITTLE_ENDIAN()

The 'TEE_U*_FROM/TO_LITTLE_ENDIAN()' functions perform conversions
between a variable stored in little-endian format and the CPU format.
Currently, OP-TEE only supports little-endian platforms, so the macro
does not perform any swapping.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

dab8b5c506-Jul-2022 Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

libutee: add new remoteproc PTA API

The remoteproc PTA is charge of providing interface to authenticate
firmware images and managing the remote processor live cycle.
The remoteproc PTA supports plat

libutee: add new remoteproc PTA API

The remoteproc PTA is charge of providing interface to authenticate
firmware images and managing the remote processor live cycle.
The remoteproc PTA supports platform specificity in the
management of a remote processor:
- firmware authentication based on a platform key,
- load of the segments in remote processor memories,
- start/stop of the remote processor,
- remote processor addresses conversion.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/dts/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/mm/core_mmu_arch.h
/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/plat-aspeed/platform_ast2600.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2700.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/main.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-mediatek/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-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/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp2/main.c
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/riscv/plat-virt/conf.mk
/optee_os/core/drivers/crypto/caam/caam_rng.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_rng.c
/optee_os/core/drivers/crypto/caam/hal/common/registers/rng_regs.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_rng.h
/optee_os/core/drivers/crypto/caam/include/caam_sm.h
/optee_os/core/drivers/crypto/hisilicon/hisi_qm.c
/optee_os/core/drivers/crypto/hisilicon/include/hisi_qm.h
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/regulator/regulator.c
/optee_os/core/drivers/regulator/stm32_vrefbuf.c
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/kernel/transfer_list.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/transfer_list.c
/optee_os/core/tee/tee_rpmb_fs.c
libutee/include/remoteproc_pta.h
/optee_os/mk/config.mk
/optee_os/scripts/checkpatch_inc.sh
/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/processing.c
/optee_os/ta/pkcs11/sub.mk
a5e75b7e17-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

pta: stats: add commands to print clock and regulator trees

Add statistics PTA commands STATS_CMD_PRINT_DRIVERS_INFO to print
device drivers information on console. The implementation currently
allo

pta: stats: add commands to print clock and regulator trees

Add statistics PTA commands STATS_CMD_PRINT_DRIVERS_INFO to print
device drivers information on console. The implementation currently
allows to print the clock tree and the regulator tree to core console.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

a05577ea23-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

tree wide: clarify PTA ABI

Explicitly describe the statistics PTA ABI using dedicated inline
comments and moving struct pta_stats_ta and struct pta_stats_alloc
from respectively tee_ta_manager.c and

tree wide: clarify PTA ABI

Explicitly describe the statistics PTA ABI using dedicated inline
comments and moving struct pta_stats_ta and struct pta_stats_alloc
from respectively tee_ta_manager.c and malloc.h to pta_stats.h
header file.

For that purpose, define ALLOC_ID_* macros to identify each allocator
one can query information from through the statistics PTA API.

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

show more ...

761fc6ec22-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

pta: stats: export PTA API definition to TA devkit

Move statistics PTA API definitions and description to a header
file that is exported to the TA devkit. This change makes the
description that PTA

pta: stats: export PTA API definition to TA devkit

Move statistics PTA API definitions and description to a header
file that is exported to the TA devkit. This change makes the
description that PTA API more consistent regarding other PTAs.

Explicitly include tee_api_types.h from stats.c source file.

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

show more ...

2617f49f22-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

tree wide: rename struct malloc_stats

Rename struct malloc_stats to struct pta_stats_alloc to prepare
the creation of pta_stats.h header file that will define the
whole statistics PTA API and ABI, l

tree wide: rename struct malloc_stats

Rename struct malloc_stats to struct pta_stats_alloc to prepare
the creation of pta_stats.h header file that will define the
whole statistics PTA API and ABI, located in libutee/include/
as already done for all other PTAs.

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

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/dts/stm32mp131.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/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/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/thread_spmc.h
/optee_os/core/arch/arm/include/optee_ffa.h
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/thread.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-aspeed/conf.mk
/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-d06/conf.mk
/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_pwr.h
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_syscfg.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_syscfg.h
/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/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-vexpress/platform_config.h
/optee_os/core/core.mk
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/clk/clk.c
/optee_os/core/drivers/crypto/hisilicon/hisi_qm.c
/optee_os/core/drivers/crypto/hisilicon/include/hisi_qm.h
/optee_os/core/drivers/crypto/hisilicon/sub.mk
/optee_os/core/drivers/crypto/sub.mk
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/hisi_trng.c
/optee_os/core/drivers/regulator/regulator.c
/optee_os/core/drivers/regulator/regulator_gpio.c
/optee_os/core/drivers/regulator/stm32mp13_regulator_iod.c
/optee_os/core/drivers/regulator/sub.mk
/optee_os/core/include/drivers/clk.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/drivers/regulator.h
/optee_os/core/include/drivers/scmi-msg.h
/optee_os/core/include/drivers/stm32mp13_regulator_iod.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/tee_mm.h
/optee_os/core/include/tee/tee_pobj.h
/optee_os/core/include/tee/tee_svc_storage.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/interrupt.c
/optee_os/core/kernel/notif.c
/optee_os/core/kernel/notif_default.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/tee_mm.c
/optee_os/core/pta/stats.c
/optee_os/core/tee/tee_pobj.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
libutee/user_ta_entry.c
libutils/ext/mempool.c
libutils/isoc/bget_malloc.c
libutils/isoc/include/malloc.h
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/src/pkcs11_token.c
bce2f88a19-Nov-2023 Vincent Mailhol <mailhol.vincent@wanadoo.fr>

tree-wide: remove useless newline character in *MSG() messages

The *MSG() macros take care of printing a newline. Adding a newline
character ('\n') is useless. Remove it.

Signed-off-by: Vincent Mai

tree-wide: remove useless newline character in *MSG() messages

The *MSG() macros take care of printing a newline. Adding a newline
character ('\n') is useless. Remove it.

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/dts/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/include/mm/generic_ram_layout.h
/optee_os/core/arch/arm/kernel/boot.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/plat-hikey/main.c
/optee_os/core/arch/arm/plat-hikey/spi_test.c
/optee_os/core/arch/arm/plat-rockchip/platform.c
/optee_os/core/arch/arm/plat-rockchip/platform_px30.c
/optee_os/core/arch/arm/plat-rockchip/platform_rk3399.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/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/plat-spike/conf.mk
/optee_os/core/drivers/atmel_saic.c
/optee_os/core/drivers/bcm_hwrng.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_jr.c
/optee_os/core/drivers/dra7_rng.c
/optee_os/core/drivers/gic.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/regulator/regulator.c
/optee_os/core/drivers/regulator/regulator_gpio.c
/optee_os/core/drivers/regulator/sub.mk
/optee_os/core/drivers/smccc_trng.c
/optee_os/core/drivers/xiphera_trng.c
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/panic.c
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/tpm.c
/optee_os/core/pta/bcm/gpio.c
/optee_os/core/tee/tee_ree_fs.c
/optee_os/core/tee/tee_svc.c
libmbedtls/core/ecc.c
libutils/isoc/bget_malloc.c
/optee_os/mk/config.mk
17a6690410-Nov-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: print current guest ID in logs

If CFG_NS_VIRTUALIZATION is enabled include the current guest ID on each
log line. A number is added before the core number identifying the
currently set guest I

core: print current guest ID in logs

If CFG_NS_VIRTUALIZATION is enabled include the current guest ID on each
log line. A number is added before the core number identifying the
currently set guest ID, for example:
D/TC:2 0 0 call_initcalls:40 level 1 teecore_init_pub_ram()

Where the "2" indicates that this is done with guest ID 2 active.

Update the symbolize.py script accordingly to recognize and ignore an
eventual guest ID in a log entry.

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

show more ...

b501c00810-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

libutee: remove leftover references to libmpa

Removes references to libmpa removed since OP-TEE release tag 3.9.0,
by commit 7fb525f1f8a6 ("Remove libmpa in favor of libmbedtls").

This change remov

libutee: remove leftover references to libmpa

Removes references to libmpa removed since OP-TEE release tag 3.9.0,
by commit 7fb525f1f8a6 ("Remove libmpa in favor of libmbedtls").

This change removes configuration switch CFG_TA_MBEDTLS_MPI
and CFG_TA_MBEDTLS that are no more used by OP-TEE component.

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

show more ...

b291c8ec31-Oct-2023 Vincent Mailhol <mailhol.vincent@wanadoo.fr>

libutee: TEE_AllocateOperation(): maxKeySize of digests may take any value

Commit [1] introduced a check to enforce the "maxKeySize" parameter of
digest operations to always be zero. This is a viola

libutee: TEE_AllocateOperation(): maxKeySize of digests may take any value

Commit [1] introduced a check to enforce the "maxKeySize" parameter of
digest operations to always be zero. This is a violation of the Global
Platform specification [2].

Revert commit [1] to allow maxKeySize to take any value for digest
operations.

[1] commit cf5c060cec76 ("libutee: TEE_AllocateOperation(): digest
operations must have 0 max key size")
Link: https://github.com/OP-TEE/optee_os/commit/cf5c060cec76

[2] TEE Internal Core API Specification – Public Release v1.3.1,
§6.2.1 TEE_AllocateOperation:

The parameter maxKeySize SHALL be a valid value as defined in
Table 5-9 for the algorithm, for algorithms referenced in Table
5-9. For all other algorithms, the maxKeySize parameter may have
any value.

CC: Jens Wiklander <jens.wiklander@linaro.org>
Fixes: cf5c060cec76 ("libutee: TEE_AllocateOperation(): digest operations must have 0 max key size")
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/.gitignore
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/Makefile
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/stm32mp25-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/dts/stm32mp253.dtsi
/optee_os/core/arch/arm/dts/stm32mp255.dtsi
/optee_os/core/arch/arm/dts/stm32mp257.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1.dts
/optee_os/core/arch/arm/dts/stm32mp25xc.dtsi
/optee_os/core/arch/arm/dts/stm32mp25xf.dtsi
/optee_os/core/arch/arm/dts/stm32mp25xxai-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp25xxak-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp25xxal-pinctrl.dtsi
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm32.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/crypto/ghash-ce-core.h
/optee_os/core/arch/arm/include/kernel/misc_arch.h
/optee_os/core/arch/arm/include/kernel/tee_l2cc_mutex.h
/optee_os/core/arch/arm/include/kernel/tlb_helpers.h
/optee_os/core/arch/arm/include/kernel/tz_proc_def.h
/optee_os/core/arch/arm/include/kernel/tz_ssvce_def.h
/optee_os/core/arch/arm/include/kernel/tz_ssvce_pl310.h
/optee_os/core/arch/arm/include/kernel/vfp.h
/optee_os/core/arch/arm/include/mm/core_mmu_arch.h
/optee_os/core/arch/arm/include/scmi/scmi_server.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/include/sm/pm.h
/optee_os/core/arch/arm/include/sm/psci.h
/optee_os/core/arch/arm/include/sm/sm.h
/optee_os/core/arch/arm/include/sm/std_smc.h
/optee_os/core/arch/arm/include/sm/teesmc_opteed.h
/optee_os/core/arch/arm/include/sm/teesmc_opteed_macros.h
/optee_os/core/arch/arm/include/sm/watchdog_smc.h
/optee_os/core/arch/arm/include/tee/entry_fast.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/link_dummies_init.c
/optee_os/core/arch/arm/kernel/link_dummies_paged.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/plat-d06/conf.mk
/optee_os/core/arch/arm/plat-d06/platform_config.h
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-nuvoton/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/drivers/stm32mp1_pmic.h
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pwr.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pwr.h
/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/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-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/main.c
/optee_os/core/arch/arm/plat-stm32mp2/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp2/stm32_util.h
/optee_os/core/arch/arm/plat-stm32mp2/sub.mk
/optee_os/core/arch/arm/plat-synquacer/main.c
/optee_os/core/arch/arm/plat-vexpress/main.c
/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/kernel/tlb_helpers.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/sbi.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/boot.c
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/crypto/caam/caam_jr.c
/optee_os/core/drivers/crypto/caam/caam_sm.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/stm32/cipher.c
/optee_os/core/drivers/hisi_trng.c
/optee_os/core/drivers/plic.c
/optee_os/core/drivers/regulator/regulator_dt.c
/optee_os/core/drivers/regulator/stm32_vrefbuf.c
/optee_os/core/drivers/regulator/sub.mk
/optee_os/core/drivers/sp805_wdt.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_uart.c
/optee_os/core/drivers/stpmic1.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/bench.h
/optee_os/core/include/console.h
/optee_os/core/include/crypto/crypto_se.h
/optee_os/core/include/crypto/sm2-kdf.h
/optee_os/core/include/drivers/amlogic_uart.h
/optee_os/core/include/drivers/atmel_uart.h
/optee_os/core/include/drivers/bcm/bnxt.h
/optee_os/core/include/drivers/bcm_gpio.h
/optee_os/core/include/drivers/bcm_hwrng.h
/optee_os/core/include/drivers/bcm_sotp.h
/optee_os/core/include/drivers/caam_extension.h
/optee_os/core/include/drivers/cbmem_console.h
/optee_os/core/include/drivers/cdns_uart.h
/optee_os/core/include/drivers/gpio.h
/optee_os/core/include/drivers/hi16xx_uart.h
/optee_os/core/include/drivers/imx/dcp.h
/optee_os/core/include/drivers/imx_ocotp.h
/optee_os/core/include/drivers/imx_uart.h
/optee_os/core/include/drivers/imx_wdog.h
/optee_os/core/include/drivers/lpc_uart.h
/optee_os/core/include/drivers/mvebu_uart.h
/optee_os/core/include/drivers/ns16550.h
/optee_os/core/include/drivers/pl011.h
/optee_os/core/include/drivers/pl022_spi.h
/optee_os/core/include/drivers/pl061_gpio.h
/optee_os/core/include/drivers/plic.h
/optee_os/core/include/drivers/regulator.h
/optee_os/core/include/drivers/rtc.h
/optee_os/core/include/drivers/sam/at91_ddr.h
/optee_os/core/include/drivers/scif.h
/optee_os/core/include/drivers/scmi-msg.h
/optee_os/core/include/drivers/scmi.h
/optee_os/core/include/drivers/serial8250_uart.h
/optee_os/core/include/drivers/sp805_wdt.h
/optee_os/core/include/drivers/sprd_uart.h
/optee_os/core/include/drivers/stih_asc.h
/optee_os/core/include/drivers/stm32_bsec.h
/optee_os/core/include/drivers/stm32_etzpc.h
/optee_os/core/include/drivers/stm32_gpio.h
/optee_os/core/include/drivers/stm32_i2c.h
/optee_os/core/include/drivers/stm32_iwdg.h
/optee_os/core/include/drivers/stm32_uart.h
/optee_os/core/include/drivers/stm32_vrefbuf.h
/optee_os/core/include/drivers/stm32mp_dt_bindings.h
/optee_os/core/include/drivers/stpmic1.h
/optee_os/core/include/drivers/wdt.h
/optee_os/core/include/gen-asm-defines.h
/optee_os/core/include/initcall.h
/optee_os/core/include/io.h
/optee_os/core/include/keep.h
/optee_os/core/include/kernel/abort.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/chip_services.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/early_ta.h
/optee_os/core/include/kernel/embedded_ts.h
/optee_os/core/include/kernel/handle.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/ldelf_loader.h
/optee_os/core/include/kernel/ldelf_syscalls.h
/optee_os/core/include/kernel/misc.h
/optee_os/core/include/kernel/msg_param.h
/optee_os/core/include/kernel/mutex.h
/optee_os/core/include/kernel/panic.h
/optee_os/core/include/kernel/pseudo_ta.h
/optee_os/core/include/kernel/rpc_io_i2c.h
/optee_os/core/include/kernel/spinlock.h
/optee_os/core/include/kernel/tee_common.h
/optee_os/core/include/kernel/tee_common_otp.h
/optee_os/core/include/kernel/tee_misc.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/tee_time.h
/optee_os/core/include/kernel/thread.h
/optee_os/core/include/kernel/time_source.h
/optee_os/core/include/kernel/timer.h
/optee_os/core/include/kernel/trace_ta.h
/optee_os/core/include/kernel/transfer_list.h
/optee_os/core/include/kernel/unwind.h
/optee_os/core/include/kernel/user_ta.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/kernel/wait_queue.h
/optee_os/core/include/mm/core_memprot.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/mobj.h
/optee_os/core/include/mm/pgt_cache.h
/optee_os/core/include/mm/tee_mm.h
/optee_os/core/include/mm/tee_mmu_types.h
/optee_os/core/include/mm/tee_pager.h
/optee_os/core/include/mm/vm.h
/optee_os/core/include/optee_msg.h
/optee_os/core/include/signed_hdr.h
/optee_os/core/include/ta_pub_key.h
/optee_os/core/include/tee/cache.h
/optee_os/core/include/tee/entry_std.h
/optee_os/core/include/tee/svc_cache.h
/optee_os/core/include/tee/tee_cryp_concat_kdf.h
/optee_os/core/include/tee/tee_cryp_hkdf.h
/optee_os/core/include/tee/tee_cryp_pbkdf2.h
/optee_os/core/include/tee/tee_cryp_utl.h
/optee_os/core/include/tee/tee_fs.h
/optee_os/core/include/tee/tee_fs_key_manager.h
/optee_os/core/include/tee/tee_fs_rpc.h
/optee_os/core/include/tee/tee_obj.h
/optee_os/core/include/tee/tee_pobj.h
/optee_os/core/include/tee/tee_supp_plugin_rpc.h
/optee_os/core/include/tee/tee_svc.h
/optee_os/core/include/tee/tee_svc_cryp.h
/optee_os/core/include/tee/tee_svc_storage.h
/optee_os/core/include/tee/tee_ta_enc_manager.h
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/interrupt.c
/optee_os/core/kernel/notif.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/transfer_list.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/mobj.c
/optee_os/core/mm/vm.c
/optee_os/core/tee/tee_svc.c
/optee_os/ldelf/ta_elf.c
libutee/tee_api_operations.c
/optee_os/mk/aosp_optee.mk
/optee_os/mk/checkconf.mk
/optee_os/mk/config.mk
/optee_os/mk/macros.mk
/optee_os/scripts/gen_compile_commands.py
/optee_os/scripts/ts_bin_to_c.py
/optee_os/ta/arch/arm/ta.ld.S
/optee_os/ta/link.mk
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/ta.mk
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 ...

32b3180806-Oct-2023 Jens Wiklander <jens.wiklander@linaro.org>

Squashed commit upgrading to mbedtls-3.4.0

Squash merging branch import/mbedtls-3.4.0

8225713449d3 ("libmbedtls: fix unrecognized compiler option")
f03730842d7b ("core: ltc: configure internal MD5"

Squashed commit upgrading to mbedtls-3.4.0

Squash merging branch import/mbedtls-3.4.0

8225713449d3 ("libmbedtls: fix unrecognized compiler option")
f03730842d7b ("core: ltc: configure internal MD5")
2b0d0c50127c ("core: ltc: configure internal SHA-1 and SHA-224")
0e48a6e17630 ("libmedtls: core: update to mbedTLS 3.4.0 API")
049882b143af ("libutee: update to mbedTLS 3.4.0 API")
982307bf6169 ("core: LTC mpi_desc.c: update to mbedTLS 3.4.0 API")
33218e9eff7b ("ta: pkcs11: update to mbedTLS 3.4.0 API")
6956420cc064 ("libmbedtls: fix cipher_wrap.c for NIST AES Key Wrap mode")
ad67ef0b43fd ("libmbedtls: fix cipher_wrap.c for chacha20 and chachapoly")
7300f4d97bbf ("libmbedtls: add fault mitigation in mbedtls_rsa_rsassa_pkcs1_v15_verify()")
cec89b62a86d ("libmbedtls: add fault mitigation in mbedtls_rsa_rsassa_pss_verify_ext()")
e7e048796c44 ("libmbedtls: add SM2 curve")
096beff2cd31 ("libmbedtls: mbedtls_mpi_exp_mod(): optimize mempool usage")
7108668efd3f ("libmbedtls: mbedtls_mpi_exp_mod(): reduce stack usage")
0ba4eb8d0572 ("libmbedtls: mbedtls_mpi_exp_mod() initialize W")
3fd6ecf00382 ("libmbedtls: fix no CRT issue")
d5ea7e9e9aa7 ("libmbedtls: add interfaces in mbedtls for context memory operation")
2b0fb3f1fa3d ("libmedtls: mpi_miller_rabin: increase count limit")
2c3301ab99bb ("libmbedtls: add mbedtls_mpi_init_mempool()")
9a111f0da04b ("libmbedtls: make mbedtls_mpi_mont*() available")
804fe3a374f5 ("mbedtls: configure mbedtls to reach for config")
b28a41531427 ("mbedtls: remove default include/mbedtls/config.h")
dfafe507bbef ("Import mbedtls-3.4.0")

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
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/optee_ffa.h
/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/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/kernel/interrupt.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
libmbedtls/core/aes.c
libmbedtls/core/dh.c
libmbedtls/core/ecc.c
libmbedtls/core/hash.c
libmbedtls/core/hmac.c
libmbedtls/core/mbed_helpers.h
libmbedtls/core/rsa.c
libmbedtls/core/sub.mk
libmbedtls/include/mbedtls_config_kernel.h
libmbedtls/mbedtls/.gitattributes
libmbedtls/mbedtls/.uncrustify.cfg
libmbedtls/mbedtls/CONTRIBUTING.md
libmbedtls/mbedtls/ChangeLog
libmbedtls/mbedtls/README.md
libmbedtls/mbedtls/SECURITY.md
libmbedtls/mbedtls/SUPPORT.md
libmbedtls/mbedtls/include/mbedtls/aes.h
libmbedtls/mbedtls/include/mbedtls/aria.h
libmbedtls/mbedtls/include/mbedtls/asn1.h
libmbedtls/mbedtls/include/mbedtls/asn1write.h
libmbedtls/mbedtls/include/mbedtls/base64.h
libmbedtls/mbedtls/include/mbedtls/bignum.h
libmbedtls/mbedtls/include/mbedtls/build_info.h
libmbedtls/mbedtls/include/mbedtls/camellia.h
libmbedtls/mbedtls/include/mbedtls/ccm.h
libmbedtls/mbedtls/include/mbedtls/chacha20.h
libmbedtls/mbedtls/include/mbedtls/chachapoly.h
libmbedtls/mbedtls/include/mbedtls/check_config.h
libmbedtls/mbedtls/include/mbedtls/cipher.h
libmbedtls/mbedtls/include/mbedtls/cmac.h
libmbedtls/mbedtls/include/mbedtls/compat-2.x.h
libmbedtls/mbedtls/include/mbedtls/config_psa.h
libmbedtls/mbedtls/include/mbedtls/constant_time.h
libmbedtls/mbedtls/include/mbedtls/ctr_drbg.h
libmbedtls/mbedtls/include/mbedtls/debug.h
libmbedtls/mbedtls/include/mbedtls/des.h
libmbedtls/mbedtls/include/mbedtls/dhm.h
libmbedtls/mbedtls/include/mbedtls/ecdh.h
libmbedtls/mbedtls/include/mbedtls/ecdsa.h
libmbedtls/mbedtls/include/mbedtls/ecjpake.h
libmbedtls/mbedtls/include/mbedtls/ecp.h
libmbedtls/mbedtls/include/mbedtls/entropy.h
libmbedtls/mbedtls/include/mbedtls/error.h
libmbedtls/mbedtls/include/mbedtls/gcm.h
libmbedtls/mbedtls/include/mbedtls/hkdf.h
libmbedtls/mbedtls/include/mbedtls/hmac_drbg.h
libmbedtls/mbedtls/include/mbedtls/legacy_or_psa.h
libmbedtls/mbedtls/include/mbedtls/lms.h
libmbedtls/mbedtls/include/mbedtls/mbedtls_config.h
libmbedtls/mbedtls/include/mbedtls/md.h
libmbedtls/mbedtls/include/mbedtls/md5.h
libmbedtls/mbedtls/include/mbedtls/memory_buffer_alloc.h
libmbedtls/mbedtls/include/mbedtls/net_sockets.h
libmbedtls/mbedtls/include/mbedtls/nist_kw.h
libmbedtls/mbedtls/include/mbedtls/oid.h
libmbedtls/mbedtls/include/mbedtls/pem.h
libmbedtls/mbedtls/include/mbedtls/pk.h
libmbedtls/mbedtls/include/mbedtls/pkcs12.h
libmbedtls/mbedtls/include/mbedtls/pkcs5.h
libmbedtls/mbedtls/include/mbedtls/pkcs7.h
libmbedtls/mbedtls/include/mbedtls/platform.h
libmbedtls/mbedtls/include/mbedtls/platform_time.h
libmbedtls/mbedtls/include/mbedtls/platform_util.h
libmbedtls/mbedtls/include/mbedtls/poly1305.h
libmbedtls/mbedtls/include/mbedtls/private_access.h
libmbedtls/mbedtls/include/mbedtls/psa_util.h
libmbedtls/mbedtls/include/mbedtls/ripemd160.h
libmbedtls/mbedtls/include/mbedtls/rsa.h
libmbedtls/mbedtls/include/mbedtls/sha1.h
libmbedtls/mbedtls/include/mbedtls/sha256.h
libmbedtls/mbedtls/include/mbedtls/sha512.h
libmbedtls/mbedtls/include/mbedtls/ssl.h
libmbedtls/mbedtls/include/mbedtls/ssl_cache.h
libmbedtls/mbedtls/include/mbedtls/ssl_ciphersuites.h
libmbedtls/mbedtls/include/mbedtls/ssl_cookie.h
libmbedtls/mbedtls/include/mbedtls/ssl_ticket.h
libmbedtls/mbedtls/include/mbedtls/threading.h
libmbedtls/mbedtls/include/mbedtls/timing.h
libmbedtls/mbedtls/include/mbedtls/version.h
libmbedtls/mbedtls/include/mbedtls/x509.h
libmbedtls/mbedtls/include/mbedtls/x509_crl.h
libmbedtls/mbedtls/include/mbedtls/x509_crt.h
libmbedtls/mbedtls/include/mbedtls/x509_csr.h
libmbedtls/mbedtls/include/psa/crypto.h
libmbedtls/mbedtls/include/psa/crypto_builtin_composites.h
libmbedtls/mbedtls/include/psa/crypto_builtin_primitives.h
libmbedtls/mbedtls/include/psa/crypto_compat.h
libmbedtls/mbedtls/include/psa/crypto_config.h
libmbedtls/mbedtls/include/psa/crypto_driver_common.h
libmbedtls/mbedtls/include/psa/crypto_driver_contexts_composites.h
libmbedtls/mbedtls/include/psa/crypto_driver_contexts_primitives.h
libmbedtls/mbedtls/include/psa/crypto_extra.h
libmbedtls/mbedtls/include/psa/crypto_platform.h
libmbedtls/mbedtls/include/psa/crypto_se_driver.h
libmbedtls/mbedtls/include/psa/crypto_sizes.h
libmbedtls/mbedtls/include/psa/crypto_struct.h
libmbedtls/mbedtls/include/psa/crypto_types.h
libmbedtls/mbedtls/include/psa/crypto_values.h
libmbedtls/mbedtls/library/aes.c
libmbedtls/mbedtls/library/aesce.c
libmbedtls/mbedtls/library/aesce.h
libmbedtls/mbedtls/library/aesni.c
libmbedtls/mbedtls/library/aesni.h
libmbedtls/mbedtls/library/alignment.h
libmbedtls/mbedtls/library/aria.c
libmbedtls/mbedtls/library/asn1parse.c
libmbedtls/mbedtls/library/asn1write.c
libmbedtls/mbedtls/library/base64.c
libmbedtls/mbedtls/library/bignum.c
libmbedtls/mbedtls/library/bignum_core.c
libmbedtls/mbedtls/library/bignum_core.h
libmbedtls/mbedtls/library/bignum_mod.c
libmbedtls/mbedtls/library/bignum_mod.h
libmbedtls/mbedtls/library/bignum_mod_raw.c
libmbedtls/mbedtls/library/bignum_mod_raw.h
libmbedtls/mbedtls/library/bignum_mod_raw_invasive.h
libmbedtls/mbedtls/library/bn_mul.h
libmbedtls/mbedtls/library/camellia.c
libmbedtls/mbedtls/library/ccm.c
libmbedtls/mbedtls/library/chacha20.c
libmbedtls/mbedtls/library/chachapoly.c
libmbedtls/mbedtls/library/check_crypto_config.h
libmbedtls/mbedtls/library/cipher.c
libmbedtls/mbedtls/library/cipher_wrap.c
libmbedtls/mbedtls/library/cipher_wrap.h
libmbedtls/mbedtls/library/cmac.c
libmbedtls/mbedtls/library/common.h
libmbedtls/mbedtls/library/constant_time.c
libmbedtls/mbedtls/library/constant_time_internal.h
libmbedtls/mbedtls/library/constant_time_invasive.h
libmbedtls/mbedtls/library/ctr_drbg.c
libmbedtls/mbedtls/library/debug.c
libmbedtls/mbedtls/library/des.c
libmbedtls/mbedtls/library/dhm.c
libmbedtls/mbedtls/library/ecdh.c
libmbedtls/mbedtls/library/ecdsa.c
libmbedtls/mbedtls/library/ecjpake.c
libmbedtls/mbedtls/library/ecp.c
libmbedtls/mbedtls/library/ecp_curves.c
libmbedtls/mbedtls/library/ecp_internal_alt.h
libmbedtls/mbedtls/library/ecp_invasive.h
libmbedtls/mbedtls/library/entropy.c
libmbedtls/mbedtls/library/entropy_poll.c
libmbedtls/mbedtls/library/entropy_poll.h
libmbedtls/mbedtls/library/error.c
libmbedtls/mbedtls/library/gcm.c
libmbedtls/mbedtls/library/hash_info.c
libmbedtls/mbedtls/library/hash_info.h
libmbedtls/mbedtls/library/hkdf.c
libmbedtls/mbedtls/library/hmac_drbg.c
libmbedtls/mbedtls/library/lmots.c
libmbedtls/mbedtls/library/lmots.h
libmbedtls/mbedtls/library/lms.c
libmbedtls/mbedtls/library/md.c
libmbedtls/mbedtls/library/md5.c
libmbedtls/mbedtls/library/md_wrap.h
libmbedtls/mbedtls/library/memory_buffer_alloc.c
libmbedtls/mbedtls/library/net_sockets.c
libmbedtls/mbedtls/library/nist_kw.c
libmbedtls/mbedtls/library/oid.c
libmbedtls/mbedtls/library/padlock.c
libmbedtls/mbedtls/library/padlock.h
libmbedtls/mbedtls/library/pem.c
libmbedtls/mbedtls/library/pk.c
libmbedtls/mbedtls/library/pk_wrap.c
libmbedtls/mbedtls/library/pk_wrap.h
libmbedtls/mbedtls/library/pkcs12.c
libmbedtls/mbedtls/library/pkcs5.c
libmbedtls/mbedtls/library/pkcs7.c
libmbedtls/mbedtls/library/pkparse.c
libmbedtls/mbedtls/library/pkwrite.c
libmbedtls/mbedtls/library/pkwrite.h
libmbedtls/mbedtls/library/platform.c
libmbedtls/mbedtls/library/platform_util.c
libmbedtls/mbedtls/library/poly1305.c
libmbedtls/mbedtls/library/ripemd160.c
libmbedtls/mbedtls/library/rsa.c
libmbedtls/mbedtls/library/rsa_alt_helpers.c
libmbedtls/mbedtls/library/rsa_alt_helpers.h
libmbedtls/mbedtls/library/sha1.c
libmbedtls/mbedtls/library/sha256.c
libmbedtls/mbedtls/library/sha512.c
libmbedtls/mbedtls/library/ssl_cache.c
libmbedtls/mbedtls/library/ssl_ciphersuites.c
libmbedtls/mbedtls/library/ssl_client.c
libmbedtls/mbedtls/library/ssl_client.h
libmbedtls/mbedtls/library/ssl_cookie.c
libmbedtls/mbedtls/library/ssl_debug_helpers.h
libmbedtls/mbedtls/library/ssl_debug_helpers_generated.c
libmbedtls/mbedtls/library/ssl_misc.h
libmbedtls/mbedtls/library/ssl_msg.c
libmbedtls/mbedtls/library/ssl_ticket.c
libmbedtls/mbedtls/library/ssl_tls.c
libmbedtls/mbedtls/library/ssl_tls12_client.c
libmbedtls/mbedtls/library/ssl_tls12_server.c
libmbedtls/mbedtls/library/ssl_tls13_client.c
libmbedtls/mbedtls/library/ssl_tls13_generic.c
libmbedtls/mbedtls/library/ssl_tls13_invasive.h
libmbedtls/mbedtls/library/ssl_tls13_keys.c
libmbedtls/mbedtls/library/ssl_tls13_keys.h
libmbedtls/mbedtls/library/ssl_tls13_server.c
libmbedtls/mbedtls/library/threading.c
libmbedtls/mbedtls/library/timing.c
libmbedtls/mbedtls/library/version.c
libmbedtls/mbedtls/library/version_features.c
libmbedtls/mbedtls/library/x509.c
libmbedtls/mbedtls/library/x509_create.c
libmbedtls/mbedtls/library/x509_crl.c
libmbedtls/mbedtls/library/x509_crt.c
libmbedtls/mbedtls/library/x509_csr.c
libmbedtls/mbedtls/library/x509write_crt.c
libmbedtls/mbedtls/library/x509write_csr.c
libmbedtls/sub.mk
libutee/sub.mk
libutee/tee_api_arith_mpi.c
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/src/pkcs11_attributes.c

12345678910>>...36