History log of /optee_os/ta/ (Results 51 – 75 of 485)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
4bdddf2031-May-2023 Jens Wiklander <jens.wiklander@linaro.org>

ta: relax location of ta_head

TAs where required to have the ta_head as at the load address of the TA
prior to this patch. This makes the linker script slightly more
complicated and also confuses GD

ta: relax location of ta_head

TAs where required to have the ta_head as at the load address of the TA
prior to this patch. This makes the linker script slightly more
complicated and also confuses GDB so that an offset must be applied to
the load address of the TA when using GDB for debugging. So allow that
ta_head symbol to reside anywhere in the ELF binary and also add ta_head
to the .dynsym section to make sure that tools and ldelf can find the
symbol.

This change requires prior updates to tools and ldelf.

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

show more ...

7f2daddf31-May-2023 Jens Wiklander <jens.wiklander@linaro.org>

ta/link.mk: always generate TA dyn_list

Always generate the file holding the list of dynamic symbols a TA should
provide. This is needed if CFG_FTRACE_SUPPORT should be changed between
two compilati

ta/link.mk: always generate TA dyn_list

Always generate the file holding the list of dynamic symbols a TA should
provide. This is needed if CFG_FTRACE_SUPPORT should be changed between
two compilations. Use the make macro mv-if-changed() to only update the
used file if it will be changed.

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

show more ...

5831e42631-May-2023 Jens Wiklander <jens.wiklander@linaro.org>

Move mv-if-changed() into mk/macros.mk

Moves the make macro mv-if-changed() into mk/macros.mk to allow use of
it in the TA devkit.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed

Move mv-if-changed() into mk/macros.mk

Moves the make macro mv-if-changed() into mk/macros.mk to allow use of
it in the TA devkit.

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

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/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/thread_arch.h
/optee_os/core/arch/arm/include/optee_ffa.h
/optee_os/core/arch/arm/include/sm/watchdog_smc.h
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/link_dummies_paged.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/thread_spmc_a64.S
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/imx-regs.h
/optee_os/core/arch/arm/plat-imx/imx.h
/optee_os/core/arch/arm/plat-imx/registers/imx6.h
/optee_os/core/arch/arm/plat-imx/registers/imx7.h
/optee_os/core/arch/arm/plat-imx/registers/imx8m.h
/optee_os/core/arch/arm/plat-imx/sub.mk
/optee_os/core/arch/arm/plat-k3/conf.mk
/optee_os/core/arch/arm/plat-k3/drivers/sa2ul.c
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-mediatek/conf.mk
/optee_os/core/arch/arm/plat-mediatek/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.h
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/riscv/include/kernel/thread_arch.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/include/tee/entry_fast.h
/optee_os/core/arch/riscv/include/tee/optee_abi.h
/optee_os/core/arch/riscv/include/tee/teeabi_opteed.h
/optee_os/core/arch/riscv/include/tee/teeabi_opteed_macros.h
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_optee_abi.c
/optee_os/core/arch/riscv/kernel/thread_optee_abi_rv.S
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/plat-virt/main.c
/optee_os/core/arch/riscv/plat-virt/platform_config.h
/optee_os/core/arch/riscv/tee/entry_fast.c
/optee_os/core/arch/riscv/tee/sub.mk
/optee_os/core/crypto.mk
/optee_os/core/drivers/atmel_saic.c
/optee_os/core/drivers/crypto/caam/blob/caam_dek.c
/optee_os/core/drivers/crypto/caam/blob/sub.mk
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_sm.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_sm.c
/optee_os/core/drivers/crypto/caam/hal/common/registers/sm_regs.h
/optee_os/core/drivers/crypto/caam/hal/common/sub.mk
/optee_os/core/drivers/crypto/caam/hal/imx_8m/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/hal/sub.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/caam/include/caam_hal_ctrl.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_sm.h
/optee_os/core/drivers/crypto/caam/include/caam_sm.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/crypto/stm32/stm32_saes.c
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/hfic.c
/optee_os/core/drivers/imx/mu/sub.mk
/optee_os/core/drivers/imx_csu.c
/optee_os/core/drivers/imx_snvs.c
/optee_os/core/drivers/ns16550.c
/optee_os/core/drivers/plic.c
/optee_os/core/drivers/pm/imx/gpcv2.c
/optee_os/core/drivers/pm/imx/local.h
/optee_os/core/drivers/pm/imx/psci.c
/optee_os/core/drivers/pm/imx/src.c
/optee_os/core/drivers/pm/imx/sub.mk
/optee_os/core/drivers/pm/sub.mk
/optee_os/core/drivers/regulator/regulator.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/drivers/sub.mk
/optee_os/core/drivers/wdt/watchdog_sm.c
/optee_os/core/include/drivers/caam_extension.h
/optee_os/core/include/drivers/imx_snvs.h
/optee_os/core/include/drivers/ns16550.h
/optee_os/core/include/drivers/plic.h
/optee_os/core/include/drivers/regulator.h
/optee_os/core/include/drivers/stm32_i2c.h
/optee_os/core/include/io.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/nv_counter.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/tee/fs_dirfile.h
/optee_os/core/include/tee/fs_htree.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/interrupt.c
/optee_os/core/kernel/nv_counter.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tpm.c
/optee_os/core/lib/libtomcrypt/mpi_desc.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sub.mk
/optee_os/core/lib/libtomcrypt/src/hashes/sub.mk
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/libtomcrypt/tomcrypt.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/pta/imx/dek_blob.c
/optee_os/core/pta/imx/sub.mk
/optee_os/core/pta/stats.c
/optee_os/core/pta/tests/fs_htree.c
/optee_os/core/tee/fs_dirfile.c
/optee_os/core/tee/fs_htree.c
/optee_os/core/tee/tee_ree_fs.c
/optee_os/lib/libmbedtls/core/aes.c
/optee_os/lib/libmbedtls/core/dh.c
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/hash.c
/optee_os/lib/libmbedtls/core/hmac.c
/optee_os/lib/libmbedtls/core/mbed_helpers.h
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libmbedtls/core/sub.mk
/optee_os/lib/libmbedtls/include/mbedtls_config_kernel.h
/optee_os/lib/libmbedtls/mbedtls/.gitattributes
/optee_os/lib/libmbedtls/mbedtls/.uncrustify.cfg
/optee_os/lib/libmbedtls/mbedtls/CONTRIBUTING.md
/optee_os/lib/libmbedtls/mbedtls/ChangeLog
/optee_os/lib/libmbedtls/mbedtls/README.md
/optee_os/lib/libmbedtls/mbedtls/SECURITY.md
/optee_os/lib/libmbedtls/mbedtls/SUPPORT.md
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/aes.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/aria.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/asn1.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/asn1write.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/base64.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/bignum.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/build_info.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/camellia.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ccm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/chacha20.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/chachapoly.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/check_config.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/cipher.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/cmac.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/compat-2.x.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/config_psa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/constant_time.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ctr_drbg.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/debug.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/des.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/dhm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecdh.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecdsa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecjpake.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ecp.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/entropy.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/error.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/gcm.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/hkdf.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/hmac_drbg.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/legacy_or_psa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/lms.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/mbedtls_config.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/md5.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/memory_buffer_alloc.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/net_sockets.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/nist_kw.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/oid.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pem.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pk.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs12.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs5.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/pkcs7.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform_time.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/platform_util.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/poly1305.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/private_access.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/psa_util.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ripemd160.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/rsa.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha1.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha256.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/sha512.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_cache.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_ciphersuites.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_cookie.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/ssl_ticket.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/threading.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/timing.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/version.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_crl.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_crt.h
/optee_os/lib/libmbedtls/mbedtls/include/mbedtls/x509_csr.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_builtin_composites.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_builtin_primitives.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_compat.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_config.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_driver_common.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_driver_contexts_composites.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_driver_contexts_primitives.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_extra.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_platform.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_se_driver.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_sizes.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_struct.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_types.h
/optee_os/lib/libmbedtls/mbedtls/include/psa/crypto_values.h
/optee_os/lib/libmbedtls/mbedtls/library/aes.c
/optee_os/lib/libmbedtls/mbedtls/library/aesce.c
/optee_os/lib/libmbedtls/mbedtls/library/aesce.h
/optee_os/lib/libmbedtls/mbedtls/library/aesni.c
/optee_os/lib/libmbedtls/mbedtls/library/aesni.h
/optee_os/lib/libmbedtls/mbedtls/library/alignment.h
/optee_os/lib/libmbedtls/mbedtls/library/aria.c
/optee_os/lib/libmbedtls/mbedtls/library/asn1parse.c
/optee_os/lib/libmbedtls/mbedtls/library/asn1write.c
/optee_os/lib/libmbedtls/mbedtls/library/base64.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_core.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_core.h
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod.h
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod_raw.c
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod_raw.h
/optee_os/lib/libmbedtls/mbedtls/library/bignum_mod_raw_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/bn_mul.h
/optee_os/lib/libmbedtls/mbedtls/library/camellia.c
/optee_os/lib/libmbedtls/mbedtls/library/ccm.c
/optee_os/lib/libmbedtls/mbedtls/library/chacha20.c
/optee_os/lib/libmbedtls/mbedtls/library/chachapoly.c
/optee_os/lib/libmbedtls/mbedtls/library/check_crypto_config.h
/optee_os/lib/libmbedtls/mbedtls/library/cipher.c
/optee_os/lib/libmbedtls/mbedtls/library/cipher_wrap.c
/optee_os/lib/libmbedtls/mbedtls/library/cipher_wrap.h
/optee_os/lib/libmbedtls/mbedtls/library/cmac.c
/optee_os/lib/libmbedtls/mbedtls/library/common.h
/optee_os/lib/libmbedtls/mbedtls/library/constant_time.c
/optee_os/lib/libmbedtls/mbedtls/library/constant_time_internal.h
/optee_os/lib/libmbedtls/mbedtls/library/constant_time_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/ctr_drbg.c
/optee_os/lib/libmbedtls/mbedtls/library/debug.c
/optee_os/lib/libmbedtls/mbedtls/library/des.c
/optee_os/lib/libmbedtls/mbedtls/library/dhm.c
/optee_os/lib/libmbedtls/mbedtls/library/ecdh.c
/optee_os/lib/libmbedtls/mbedtls/library/ecdsa.c
/optee_os/lib/libmbedtls/mbedtls/library/ecjpake.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp_curves.c
/optee_os/lib/libmbedtls/mbedtls/library/ecp_internal_alt.h
/optee_os/lib/libmbedtls/mbedtls/library/ecp_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/entropy.c
/optee_os/lib/libmbedtls/mbedtls/library/entropy_poll.c
/optee_os/lib/libmbedtls/mbedtls/library/entropy_poll.h
/optee_os/lib/libmbedtls/mbedtls/library/error.c
/optee_os/lib/libmbedtls/mbedtls/library/gcm.c
/optee_os/lib/libmbedtls/mbedtls/library/hash_info.c
/optee_os/lib/libmbedtls/mbedtls/library/hash_info.h
/optee_os/lib/libmbedtls/mbedtls/library/hkdf.c
/optee_os/lib/libmbedtls/mbedtls/library/hmac_drbg.c
/optee_os/lib/libmbedtls/mbedtls/library/lmots.c
/optee_os/lib/libmbedtls/mbedtls/library/lmots.h
/optee_os/lib/libmbedtls/mbedtls/library/lms.c
/optee_os/lib/libmbedtls/mbedtls/library/md.c
/optee_os/lib/libmbedtls/mbedtls/library/md5.c
/optee_os/lib/libmbedtls/mbedtls/library/md_wrap.h
/optee_os/lib/libmbedtls/mbedtls/library/memory_buffer_alloc.c
/optee_os/lib/libmbedtls/mbedtls/library/net_sockets.c
/optee_os/lib/libmbedtls/mbedtls/library/nist_kw.c
/optee_os/lib/libmbedtls/mbedtls/library/oid.c
/optee_os/lib/libmbedtls/mbedtls/library/padlock.c
/optee_os/lib/libmbedtls/mbedtls/library/padlock.h
/optee_os/lib/libmbedtls/mbedtls/library/pem.c
/optee_os/lib/libmbedtls/mbedtls/library/pk.c
/optee_os/lib/libmbedtls/mbedtls/library/pk_wrap.c
/optee_os/lib/libmbedtls/mbedtls/library/pk_wrap.h
/optee_os/lib/libmbedtls/mbedtls/library/pkcs12.c
/optee_os/lib/libmbedtls/mbedtls/library/pkcs5.c
/optee_os/lib/libmbedtls/mbedtls/library/pkcs7.c
/optee_os/lib/libmbedtls/mbedtls/library/pkparse.c
/optee_os/lib/libmbedtls/mbedtls/library/pkwrite.c
/optee_os/lib/libmbedtls/mbedtls/library/pkwrite.h
/optee_os/lib/libmbedtls/mbedtls/library/platform.c
/optee_os/lib/libmbedtls/mbedtls/library/platform_util.c
/optee_os/lib/libmbedtls/mbedtls/library/poly1305.c
/optee_os/lib/libmbedtls/mbedtls/library/ripemd160.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa_alt_helpers.c
/optee_os/lib/libmbedtls/mbedtls/library/rsa_alt_helpers.h
/optee_os/lib/libmbedtls/mbedtls/library/sha1.c
/optee_os/lib/libmbedtls/mbedtls/library/sha256.c
/optee_os/lib/libmbedtls/mbedtls/library/sha512.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_cache.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_ciphersuites.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_client.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_client.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_cookie.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_debug_helpers.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_debug_helpers_generated.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_misc.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_msg.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_ticket.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls12_client.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls12_server.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_client.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_generic.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_invasive.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_keys.c
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_keys.h
/optee_os/lib/libmbedtls/mbedtls/library/ssl_tls13_server.c
/optee_os/lib/libmbedtls/mbedtls/library/threading.c
/optee_os/lib/libmbedtls/mbedtls/library/timing.c
/optee_os/lib/libmbedtls/mbedtls/library/version.c
/optee_os/lib/libmbedtls/mbedtls/library/version_features.c
/optee_os/lib/libmbedtls/mbedtls/library/x509.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_create.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_crl.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_crt.c
/optee_os/lib/libmbedtls/mbedtls/library/x509_csr.c
/optee_os/lib/libmbedtls/mbedtls/library/x509write_crt.c
/optee_os/lib/libmbedtls/mbedtls/library/x509write_csr.c
/optee_os/lib/libmbedtls/sub.mk
/optee_os/lib/libutee/include/pta_imx_dek_blob.h
/optee_os/lib/libutee/sub.mk
/optee_os/lib/libutee/tee_api_arith_mpi.c
/optee_os/lib/libutils/ext/include/fault_mitigation.h
/optee_os/lib/libutils/isoc/include/assert.h
/optee_os/mk/config.mk
/optee_os/scripts/sign_rproc_fw.py
pkcs11/src/pkcs11_attributes.c
7c24332129-Jul-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: fix EC private key import

When importing EC private key also generate hidden EC public key for that.

This fixes EC private key import problem.

Signed-off-by: Vesa Jääskeläinen <vesa.ja

ta: pkcs11: fix EC private key import

When importing EC private key also generate hidden EC public key for that.

This fixes EC private key import problem.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Tested-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

c9cf332027-Jul-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: add hidden EC point support

The PKCS#11 standard does not allow one to have CKA_EC_POINT for private
keys but TEE internal API requires one to be present when performing
private key oper

ta: pkcs11: add hidden EC point support

The PKCS#11 standard does not allow one to have CKA_EC_POINT for private
keys but TEE internal API requires one to be present when performing
private key operations. Instead of calculating it each time it is needed
store it as hidden attribute.

This fixes EC private key generation to function as specified in standard.

There is backwards support for existing keys that has been created
inadvertently with CKA_EC_POINT included.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Tested-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

981966bc27-Jul-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: add OP-TEE hidden attribute extension

Attributes which has hidden OP-TEE vendor flag specified are not exported
to user space nor can be imported from user space.

Signed-off-by: Vesa Jä

ta: pkcs11: add OP-TEE hidden attribute extension

Attributes which has hidden OP-TEE vendor flag specified are not exported
to user space nor can be imported from user space.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Tested-by: Ayoub Zaki <ayoub.zaki@embetrix.com>

show more ...

5828293627-Jul-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: specify OP-TEE's vendor specific attribute scheme

Add vendor allocation specification for OP-TEE specific attributes.

Specifies which bits of attribute identifier is for what purpose.

ta: pkcs11: specify OP-TEE's vendor specific attribute scheme

Add vendor allocation specification for OP-TEE specific attributes.

Specifies which bits of attribute identifier is for what purpose.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Tested-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

6a7d728227-Jul-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: introduce PKCS11_CKF_ARRAY_ATTRIBUTE

Add own define for PKCS11_CKF_ARRAY_ATTRIBUTE to keep attribute defines
clear.

Adjust users to new define.

Value is same as CKF_ARRAY_ATTRIBUTE in

ta: pkcs11: introduce PKCS11_CKF_ARRAY_ATTRIBUTE

Add own define for PKCS11_CKF_ARRAY_ATTRIBUTE to keep attribute defines
clear.

Adjust users to new define.

Value is same as CKF_ARRAY_ATTRIBUTE in standard.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Reviewed-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Tested-by: Ayoub Zaki <ayoub.zaki@embetrix.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

0f6acf3a17-Apr-2023 Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

ta: export remoteproc signature script and default key

The remoteproc firmware signature script and its associated
default key must be exported in the dev kit in order to be
able to sign the remotep

ta: export remoteproc signature script and default key

The remoteproc firmware signature script and its associated
default key must be exported in the dev kit in order to be
able to sign the remoteproc firmware.

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

show more ...

5071d7d130-Jul-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: on RSA public key import calculate CKA_MODULUS_BITS

When RSA public key is created with C_CreateObject() CKA_MODULUS_BITS is
not allowed to be specified.

The tooling like pkcs11-tool ex

ta: pkcs11: on RSA public key import calculate CKA_MODULUS_BITS

When RSA public key is created with C_CreateObject() CKA_MODULUS_BITS is
not allowed to be specified.

The tooling like pkcs11-tool expects that the value is there.

In specification it is not specified clearly that it needs to be
calculated but it is assumed to be in the RSA public key object.

Calculate the value and add it to the object during RSA public key import.

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

show more ...


/optee_os/.github/workflows/ci.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/include/arm64_macros.S
/optee_os/core/arch/arm/include/kernel/thread_private_arch.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_spmc_a64.S
/optee_os/core/arch/arm/mm/sub.mk
/optee_os/core/arch/arm/plat-aspeed/conf.mk
/optee_os/core/arch/arm/plat-bcm/conf.mk
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-marvell/cn10k/core_pos.S
/optee_os/core/arch/arm/plat-marvell/conf.mk
/optee_os/core/arch/arm/plat-marvell/platform_config.h
/optee_os/core/arch/arm/plat-marvell/sub.mk
/optee_os/core/arch/arm/plat-nuvoton/conf.mk
/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/main.c
/optee_os/core/arch/arm/plat-versal/main.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/include/kernel/user_access_arch.h
/optee_os/core/arch/riscv/kernel/arch_scall.c
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/plat-spike/platform_config.h
/optee_os/core/arch/riscv/plat-virt/main.c
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/crypto/caam/mp/caam_mp.c
/optee_os/core/drivers/crypto/caam/utils/utils_dmaobj.c
/optee_os/core/drivers/crypto/crypto_api/acipher/dh.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsamgf.c
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt.h
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_acipher.h
/optee_os/core/drivers/crypto/se050/core/storage.c
/optee_os/core/drivers/crypto/stm32/authenc.c
/optee_os/core/drivers/crypto/stm32/cipher.c
/optee_os/core/drivers/crypto/stm32/common.h
/optee_os/core/drivers/crypto/stm32/crypto.mk
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.h
/optee_os/core/drivers/crypto/stm32/sub.mk
/optee_os/core/drivers/imx/mu/imx_mu.c
/optee_os/core/drivers/imx/mu/imx_mu_8q.c
/optee_os/core/drivers/imx/mu/imx_mu_8ulp.c
/optee_os/core/drivers/imx/mu/imx_mu_platform.h
/optee_os/core/drivers/ls_dspi.c
/optee_os/core/drivers/ls_sfp.c
/optee_os/core/drivers/plic.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/ls_dspi.h
/optee_os/core/include/kernel/huk_subkey.h
/optee_os/core/include/kernel/linker.h
/optee_os/core/include/kernel/pseudo_ta.h
/optee_os/core/include/kernel/user_access.h
/optee_os/core/include/tee/fs_dirfile.h
/optee_os/core/include/tee/tee_fs.h
/optee_os/core/include/tee/tee_supp_plugin_rpc.h
/optee_os/core/kernel/asan.c
/optee_os/core/kernel/huk_subkey.c
/optee_os/core/kernel/ldelf_loader.c
/optee_os/core/kernel/pseudo_ta.c
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/user_access.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
/optee_os/core/lib/libtomcrypt/x25519.c
/optee_os/core/lib/scmi-server/conf-optee-fvp.mk
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/mm/pgt_cache.c
/optee_os/core/mm/sub.mk
/optee_os/core/pta/attestation.c
/optee_os/core/pta/imx/manufacturing_protection.c
/optee_os/core/pta/system.c
/optee_os/core/tee/entry_std.c
/optee_os/core/tee/fs_dirfile.c
/optee_os/core/tee/socket.c
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_ree_fs.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/core/tee/tee_supp_plugin_rpc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/lib/libutee/include/user_ta_header.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/tee_api.c
/optee_os/lib/libutee/tee_api_property.c
/optee_os/lib/libutils/ext/include/compiler.h
/optee_os/lib/libutils/ext/mempool.c
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/mk/config.mk
/optee_os/scripts/derive_rpmb_key.py
pkcs11/src/pkcs11_attributes.c
074c61af28-Jul-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: remove redundant comment about start and end date

PKCS#11 standard specifies that verification or usage of start and end
date for certificate objects is responsibility of the application

ta: pkcs11: remove redundant comment about start and end date

PKCS#11 standard specifies that verification or usage of start and end
date for certificate objects is responsibility of the application.

There is no other activity than storage needed for those.

Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/Makefile
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/arm64_macros.S
/optee_os/core/arch/arm/include/kernel/user_access_arch.h
/optee_os/core/arch/arm/kernel/arch_scall.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/mm/mobj_dyn_shm.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-imx/main.c
/optee_os/core/arch/arm/plat-imx/pm/cpuidle-imx7d.c
/optee_os/core/arch/arm/plat-imx/pm/imx7_suspend.c
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-marvell/main.c
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-nuvoton/main.c
/optee_os/core/arch/arm/plat-rcar/main.c
/optee_os/core/arch/arm/plat-rockchip/main.c
/optee_os/core/arch/arm/plat-rzn1/main.c
/optee_os/core/arch/arm/plat-sam/freq.c
/optee_os/core/arch/arm/plat-sam/main.c
/optee_os/core/arch/arm/plat-sprd/main.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-synquacer/main.c
/optee_os/core/arch/arm/plat-ti/a9_plat_init.S
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-totalcompute/main.c
/optee_os/core/arch/arm/plat-uniphier/main.c
/optee_os/core/arch/arm/plat-versal/main.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/riscv/include/kernel/tlb_helpers.h
/optee_os/core/arch/riscv/include/kernel/user_access_arch.h
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/mm/core_mmu_arch.c
/optee_os/core/arch/riscv/mm/sub.mk
/optee_os/core/arch/riscv/mm/tlb_helpers_rv.S
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/crypto/caam/acipher/caam_dh.c
/optee_os/core/drivers/crypto/caam/acipher/caam_dsa.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/cipher/caam_cipher_mac.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/se050/core/rsa.c
/optee_os/core/drivers/crypto/se050/glue/i2c_stm32.c
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/drivers/plic.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_uart.c
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/plic.h
/optee_os/core/include/drivers/stm32_bsec.h
/optee_os/core/include/drivers/stm32_gpio.h
/optee_os/core/include/drivers/stm32_i2c.h
/optee_os/core/include/drivers/stm32_uart.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/ldelf_loader.h
/optee_os/core/include/kernel/user_access.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/ldelf_loader.c
/optee_os/core/kernel/scall.c
/optee_os/core/kernel/user_access.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/dh.c
/optee_os/core/lib/libtomcrypt/dsa.c
/optee_os/core/lib/libtomcrypt/ecc.c
/optee_os/core/lib/libtomcrypt/mpi_desc.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/pta/system.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/ldelf/ftrace.c
/optee_os/lib/libmbedtls/core/bignum.c
/optee_os/lib/libmbedtls/core/dh.c
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libutee/include/riscv_user_sysreg.h
/optee_os/lib/libutee/include/user_ta_header.h
/optee_os/lib/libutils/ext/ftrace/ftrace.c
/optee_os/lib/libutils/ext/include/util.h
/optee_os/mk/aosp_optee.mk
/optee_os/mk/config.mk
/optee_os/scripts/ftrace_format.py
pkcs11/src/pkcs11_attributes.c
175d68e920-Jun-2023 Alvin Chang <alvinga@andestech.com>

ta: riscv: Add MCOUNT_SYM definition

With the -pg option, the compiler inserts a call to _mcount into every
function prologue. Add definition for MCOUNT_SYM so that the linker
creates the additional

ta: riscv: Add MCOUNT_SYM definition

With the -pg option, the compiler inserts a call to _mcount into every
function prologue. Add definition for MCOUNT_SYM so that the linker
creates the additional space for ftrace buffer.

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

show more ...


/optee_os/MAINTAINERS
/optee_os/core/arch/arm/dts/stm32mp13-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp131.dtsi
/optee_os/core/arch/arm/dts/stm32mp135.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/optee_os/core/arch/arm/dts/stm32mp13xc.dtsi
/optee_os/core/arch/arm/dts/stm32mp13xf.dtsi
/optee_os/core/arch/arm/dts/stm32mp15-pinctrl.dtsi
/optee_os/core/arch/arm/include/ffa.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/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci.c
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci.h
/optee_os/core/arch/arm/plat-k3/drivers/ti_sci_protocol.h
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pwr.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_syscfg.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/riscv/include/kernel/delay_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/kernel/arch_scall.c
/optee_os/core/arch/riscv/kernel/tee_time_rdtime.c
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/drivers/atmel_saic.c
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/hfic.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_etzpc.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/include/drivers/stm32_etzpc.h
/optee_os/core/include/dt-bindings/clock/stm32mp13-clks.h
/optee_os/core/include/dt-bindings/regulator/st,stm32mp13-regulator.h
/optee_os/core/include/dt-bindings/rtc/rtc-stm32.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/thread.h
/optee_os/core/kernel/interrupt.c
/optee_os/core/kernel/thread.c
/optee_os/ldelf/main.c
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/lib/libutee/arch/riscv/utee_syscalls_rv.S
/optee_os/lib/libutils/ext/arch/riscv/mcount_rv.S
/optee_os/lib/libutils/ext/arch/riscv/sub.mk
/optee_os/lib/libutils/ext/include/asm.S
/optee_os/lib/libutils/ext/include/riscv.S
/optee_os/lib/libutils/isoc/arch/riscv/setjmp_rv.S
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/setjmp.h
/optee_os/mk/aosp_optee.mk
/optee_os/scripts/symbolize.py
arch/riscv/ta.ld.S
5d6b6c7912-Jun-2023 Jose Quaresma <jose.quaresma@foundries.io>

ta: pkcs11: Fix conflicting types due to enum/integer mismatch

This is an error with gcc13 [-Werror=enum-int-mismatch]

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Jose Qu

ta: pkcs11: Fix conflicting types due to enum/integer mismatch

This is an error with gcc13 [-Werror=enum-int-mismatch]

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>

show more ...


/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/tlb_helpers.h
/optee_os/core/arch/arm/include/mm/core_mmu_arch.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/cache_helpers_a64.S
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/tlb_helpers_a32.S
/optee_os/core/arch/arm/kernel/tlb_helpers_a64.S
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/mm/tlb_helpers_rv.S
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/clk/clk-stm32-core.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/sam/at91_clk.h
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/gpio/gpio.c
/optee_os/core/drivers/i2c/atmel_i2c.c
/optee_os/core/drivers/pinctrl/atmel_pio.c
/optee_os/core/drivers/pinctrl/pinctrl.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/gpio.h
/optee_os/core/include/drivers/i2c.h
/optee_os/core/include/drivers/pinctrl.h
/optee_os/core/include/drivers/rstctrl.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/tests/dt_driver_test.c
pkcs11/src/processing.h
d1b003fe05-Jun-2023 Tadd Kao <tadd.kao@mediatek.com>

mk: Support user static lib for aosp build

The aosp build environment don't allow writing to source folder, move
the $(libname).a in current folder to $(out-link-dir$(sm)). And since
static librarie

mk: Support user static lib for aosp build

The aosp build environment don't allow writing to source folder, move
the $(libname).a in current folder to $(out-link-dir$(sm)). And since
static libraries are not needed for runtime, set the LOCAL_MODULE_CLASS
to STATIC_LIBRARIES to avoid installing by aosp build.

Signed-off-by: Tadd Kao <tadd.kao@mediatek.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

3c5443ad06-Jun-2023 Imre Kis <imre.kis@arm.com>

ffa: remove ffa.h and smccc.h from host export list

commit 5489e94f0566 ("core: ffa: add boot info structs and defines")
causes the compiler error below in host applications.

ffa.h:196:41: error: i

ffa: remove ffa.h and smccc.h from host export list

commit 5489e94f0566 ("core: ffa: add boot info structs and defines")
causes the compiler error below in host applications.

ffa.h:196:41: error: implicit declaration of function ‘U’ [-Werror=implicit-function-declaration]
196 | #define FFA_BOOT_INFO_NAME_LEN U(16)
| ^
ffa.h:319:19: note: in expansion of macro ‘FFA_BOOT_INFO_NAME_LEN’
319 | char name[FFA_BOOT_INFO_NAME_LEN];
| ^~~~~~~~~~~~~~~~~~~~~~
ffa.h:319:14: error: variably modified ‘name’ at file scope
319 | char name[FFA_BOOT_INFO_NAME_LEN];
| ^~~~

ffa.h uses the U macro which is only part of OP-TEE's libc and not a
standard macro. This causes a compiler error when compiling a host
application and the libc is provided by the compiler. This makes ffa.h
not suitable for host export.

This patch resolves the issue by removing ffa.h from the host export
list to prevent external components to use it. TAs and client
applications have no use of this file.

Also remove smccc.h as it was only added to the list because it is a
dependency of ffa.h

Signed-off-by: Imre Kis <imre.kis@arm.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

12fc377130-May-2023 Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

keys: rename the default key to default.pem

The default key can have other uses than the TA signature.
Rename the file to have a generic name.

For compatibility with existing code, doc and CI, the

keys: rename the default key to default.pem

The default key can have other uses than the TA signature.
Rename the file to have a generic name.

For compatibility with existing code, doc and CI, the
default_ta.pem is kept but becomes a symbolic link.

If the default_ta.pem is selected, the default.pem file is
also copied in the build folder as default_ta.pem symlink
points to it.

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

show more ...

4a2392dd30-May-2023 Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

ta: use TA_SIGN_KEY value for the key to copy for build

The default_ta.pem is copied whatever the key file used.
This leads to a build error if TA_SIGN_KEY is specified in the
build command.

Use th

ta: use TA_SIGN_KEY value for the key to copy for build

The default_ta.pem is copied whatever the key file used.
This leads to a build error if TA_SIGN_KEY is specified in the
build command.

Use the "TA_SIGN_KEY" value instead of hard-coding the key name.

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

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/spmc_sp_handler.h
/optee_os/core/arch/arm/include/kernel/thread_spmc.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/asm-defines.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/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread.c
/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/virtualization.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/riscv/kernel/thread_arch.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/drivers/atmel_piobu.c
/optee_os/core/drivers/clk/clk-stm32-core.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/clk/sam/at91_clk.h
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/gpio/gpio.c
/optee_os/core/drivers/i2c/atmel_i2c.c
/optee_os/core/drivers/pinctrl/atmel_pio.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/gpio.h
/optee_os/core/include/drivers/i2c.h
/optee_os/core/include/drivers/pinctrl.h
/optee_os/core/include/drivers/rstctrl.h
/optee_os/core/include/drivers/stm32_gpio.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/thread.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/mobj.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/pta/tests/dt_driver_test.c
/optee_os/lib/libunw/unwind_arm64.c
/optee_os/lib/libutee/arch/riscv/utee_syscalls_rv.S
/optee_os/scripts/symbolize.py
ta.mk
bb5d182512-May-2023 Etienne Carriere <etienne.carriere@linaro.org>

ta: pkcs11: invalidate handle of destroyed token objects

Marks as invalid any object handle that refers to the token object
that is being destroying so that any use of the related handle will
consid

ta: pkcs11: invalidate handle of destroyed token objects

Marks as invalid any object handle that refers to the token object
that is being destroying so that any use of the related handle will
consider the object handle as invalid.

Link: https://github.com/OP-TEE/optee_os/issues/6005
Reviewed-by: Valerii Chubar <valerii_chubar@epam.com>
Reviewed-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

2bc50ed512-May-2023 Etienne Carriere <etienne.carriere@linaro.org>

ta: pkcs11: invalidating handle in a database

Introduces a specific pointer value for handles that are no more valid
and API function handle_invalidate() to mark that a handle is no
more valid.

Rev

ta: pkcs11: invalidating handle in a database

Introduces a specific pointer value for handles that are no more valid
and API function handle_invalidate() to mark that a handle is no
more valid.

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

show more ...

b8fa517012-May-2023 Etienne Carriere <etienne.carriere@linaro.org>

ta: pkcs11: factorize handle reference sanity test

Factorizes sanity validation of handle database and handle value
in pkcs11 TA handle functions

Reviewed-by: Valerii Chubar <valerii_chubar@epam.co

ta: pkcs11: factorize handle reference sanity test

Factorizes sanity validation of handle database and handle value
in pkcs11 TA handle functions

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

show more ...


/optee_os/.clang-format
/optee_os/.github/workflows/ci.yml
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/dt_driver_test.dtsi
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/mm/generic_ram_layout.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies_init.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a32.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2600.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-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/config/imx6qdlsolo.h
/optee_os/core/arch/arm/plat-imx/config/imx6sl.h
/optee_os/core/arch/arm/plat-imx/config/imx6sll.h
/optee_os/core/arch/arm/plat-imx/config/imx6sx.h
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-imx/platform_config.h
/optee_os/core/arch/arm/plat-imx/sm_platform_handler.c
/optee_os/core/arch/arm/plat-imx/sub.mk
/optee_os/core/arch/arm/plat-imx/tzc380.c
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-marvell/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-rzn1/platform_config.h
/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/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/scmi_server.c
/optee_os/core/arch/arm/plat-sam/sub.mk
/optee_os/core/arch/arm/plat-sprd/main.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/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-ti/main.c
/optee_os/core/arch/arm/plat-totalcompute/main.c
/optee_os/core/arch/arm/plat-uniphier/main.c
/optee_os/core/arch/arm/plat-versal/main.c
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-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/encoding.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/mm/tlb_helpers_rv.S
/optee_os/core/arch/riscv/plat-virt/main.c
/optee_os/core/crypto.mk
/optee_os/core/drivers/atmel_piobu.c
/optee_os/core/drivers/atmel_rstc.c
/optee_os/core/drivers/atmel_rtc.c
/optee_os/core/drivers/atmel_saic.c
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/cbmem_console.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/clk/sam/at91_clk.h
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/clk/sam/at91_sckc.c
/optee_os/core/drivers/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/crypto/crypto_api/acipher/ecc.c
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_acipher.h
/optee_os/core/drivers/crypto/se050/adaptors/apis/sss.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/stm32/authenc.c
/optee_os/core/drivers/crypto/stm32/cipher.c
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/gpio/gpio.c
/optee_os/core/drivers/gpio/sub.mk
/optee_os/core/drivers/hfic.c
/optee_os/core/drivers/i2c/atmel_i2c.c
/optee_os/core/drivers/i2c/i2c.c
/optee_os/core/drivers/imx_caam.c
/optee_os/core/drivers/imx_csu.c
/optee_os/core/drivers/imx_lpuart.c
/optee_os/core/drivers/imx_scu.c
/optee_os/core/drivers/imx_uart.c
/optee_os/core/drivers/ls_gpio.c
/optee_os/core/drivers/pinctrl/atmel_pio.c
/optee_os/core/drivers/pinctrl/pinctrl.c
/optee_os/core/drivers/pinctrl/sub.mk
/optee_os/core/drivers/pl011.c
/optee_os/core/drivers/rstctrl/rstctrl.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/scmi-msg/clock_generic.c
/optee_os/core/drivers/scmi-msg/sub.mk
/optee_os/core/drivers/serial8250_uart.c
/optee_os/core/drivers/stm32_iwdg.c
/optee_os/core/drivers/stm32_tamp.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/versal_gpio.c
/optee_os/core/include/drivers/atmel_saic.h
/optee_os/core/include/drivers/bcm_gpio.h
/optee_os/core/include/drivers/cbmem_console.h
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/drivers/gpio.h
/optee_os/core/include/drivers/hfic.h
/optee_os/core/include/drivers/i2c.h
/optee_os/core/include/drivers/ls_gpio.h
/optee_os/core/include/drivers/pinctrl.h
/optee_os/core/include/drivers/pl022_spi.h
/optee_os/core/include/drivers/pl061_gpio.h
/optee_os/core/include/drivers/rstctrl.h
/optee_os/core/include/drivers/scmi-msg.h
/optee_os/core/include/drivers/versal_gpio.h
/optee_os/core/include/dt-bindings/clock/at91.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/thread_private.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/kernel/console.c
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/interrupt.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/thread.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/pta/tests/dt_driver_test.c
/optee_os/core/pta/tests/sub.mk
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/lib/libutee/include/elf.h
/optee_os/lib/libutils/ext/include/bitstring.h
/optee_os/lib/libutils/ext/include/compiler.h
/optee_os/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod.c
/optee_os/mk/cc-option.mk
/optee_os/mk/compile.mk
/optee_os/mk/config.mk
pkcs11/src/handle.c
920e012726-Mar-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: Allow authentication mode switch with PIN change

In order to enable one to switch from PIN mode to TEE Identity mode or
vice versa enable the mode switch when token has just been initial

ta: pkcs11: Allow authentication mode switch with PIN change

In order to enable one to switch from PIN mode to TEE Identity mode or
vice versa enable the mode switch when token has just been initialized but
not taken in use (eg. no user PIN set).

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

show more ...

f1105cc526-Mar-2023 Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>

ta: pkcs11: Fix token initialization's authentication

When token has been initialized make sure that SO is properly
authenticated based on authentication mode setting to follow PKCS#11 2.40
specific

ta: pkcs11: Fix token initialization's authentication

When token has been initialized make sure that SO is properly
authenticated based on authentication mode setting to follow PKCS#11 2.40
specification for C_InitToken().

This makes it impossible to change authentication mode with C_InitToken().

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

show more ...


/optee_os/CHANGELOG.md
/optee_os/core/arch/arm/dts/at91-sama5d27_wlsom1.dtsi
/optee_os/core/arch/arm/include/mm/core_mmu_arch.h
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-hisilicon/psci.c
/optee_os/core/arch/arm/plat-imx/drivers/tzc380.c
/optee_os/core/arch/arm/plat-imx/pm/psci.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-rcar/romapi_call.S
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/matrix.c
/optee_os/core/arch/arm/plat-sam/sam_sfr.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-sunxi/psci.c
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/kernel/kern.ld.S
/optee_os/core/crypto.mk
/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-stm32mp13.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/crypto/caam/acipher/sub.mk
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg_dt.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/include/caam_acipher.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_ctrl.h
/optee_os/core/drivers/crypto/crypto_api/acipher/ecc.c
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/i2c/atmel_i2c.c
/optee_os/core/drivers/i2c/i2c.c
/optee_os/core/drivers/i2c/sub.mk
/optee_os/core/drivers/imx/dcp/dcp.c
/optee_os/core/drivers/imx_i2c.c
/optee_os/core/drivers/imx_wdog.c
/optee_os/core/drivers/ls_dspi.c
/optee_os/core/drivers/pm/sam/at91_pm.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_etzpc.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_iwdg.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/stm32_tamp.c
/optee_os/core/drivers/stm32_uart.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/tzc380.c
/optee_os/core/drivers/xiphera_trng.c
/optee_os/core/drivers/zynqmp_csu_aes.c
/optee_os/core/include/drivers/i2c.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/linker.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/fobj.c
/optee_os/mk/config.mk
pkcs11/include/pkcs11_ta.h
pkcs11/src/pkcs11_token.c
31b3101529-Mar-2023 liushiwei <liushiwei@eswincomputing.com>

build: ta: add RISC-V linker script

Sort out the common code compiled by TA,
abstract RISCV and ARM compile the common part of TA.

Signed-off-by: liushiwei <liushiwei@eswincomputing.com>
Reviewed-b

build: ta: add RISC-V linker script

Sort out the common code compiled by TA,
abstract RISCV and ARM compile the common part of TA.

Signed-off-by: liushiwei <liushiwei@eswincomputing.com>
Reviewed-by: chenchaokai <chenchaokai@eswincomputing.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/crypto/sha3_armv8a_ce.c
/optee_os/core/arch/arm/crypto/sha3_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/sm4_armv8a_aese_a64.S
/optee_os/core/arch/arm/crypto/sm4_armv8a_ce.c
/optee_os/core/arch/arm/crypto/sm4_armv8a_ce.h
/optee_os/core/arch/arm/crypto/sm4_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/sm4_armv8a_neon.c
/optee_os/core/arch/arm/crypto/sm4_armv8a_neon.h
/optee_os/core/arch/arm/crypto/sub.mk
/optee_os/core/arch/arm/dts/stm32mp157a-dk1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dk2.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/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-sam/matrix.c
/optee_os/core/arch/arm/plat-sam/matrix.h
/optee_os/core/arch/arm/plat-sam/sama5d2.h
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
/optee_os/core/arch/arm/plat-totalcompute/platform_config.h
/optee_os/core/crypto.mk
/optee_os/core/crypto/sm4_accel.c
/optee_os/core/crypto/sub.mk
/optee_os/core/drivers/atmel_tcb.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_pwr.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/imx_8m/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_defines.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_ctrl.h
/optee_os/core/drivers/crypto/caam/include/caam_mp.h
/optee_os/core/drivers/crypto/caam/include/caam_status.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/mp/caam_mp.c
/optee_os/core/drivers/crypto/caam/mp/sub.mk
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/crypto/caam/utils/utils_status.c
/optee_os/core/drivers/crypto/crypto_api/acipher/ecc.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsassa.c
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_acipher.h
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/drivers/imx/mu/sub.mk
/optee_os/core/drivers/imx_ele.c
/optee_os/core/drivers/stm32mp15_huk.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/zynqmp_csu_puf.c
/optee_os/core/include/crypto/crypto_accel.h
/optee_os/core/include/drivers/caam_extension.h
/optee_os/core/include/drivers/imx_mu.h
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/sha3_accel.c
/optee_os/core/lib/libtomcrypt/src/hashes/sub.mk
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/libtomcrypt/tomcrypt.c
/optee_os/core/pta/attestation.c
/optee_os/core/pta/imx/manufacturing_protection.c
/optee_os/core/pta/imx/sub.mk
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/ldelf/ldelf.mk
/optee_os/ldelf/sub.mk
/optee_os/ldelf/syscalls_rv.S
/optee_os/lib/libmbedtls/core/ecc.c
/optee_os/lib/libmbedtls/core/rsa.c
/optee_os/lib/libutee/arch/arm/sub.mk
/optee_os/lib/libutee/include/pta_imx_manufacturing_protection.h
/optee_os/lib/libutee/include/tee_api_defines_extensions.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/sub.mk
/optee_os/lib/libutee/tcb.c
/optee_os/lib/libutee/tee_api_arith_mpi.c
/optee_os/lib/libutee/tee_api_operations.c
/optee_os/lib/libutee/user_ta_entry.c
/optee_os/lib/libutee/user_ta_entry_compat.c
/optee_os/mk/config.mk
arch/riscv/ta.ld.S
link.mk
link_shlib.mk
mk/build-user-ta.mk
ta.mk
user_ta_header.c
9894fdb424-Feb-2023 Clement Faure <clement.faure@nxp.com>

ta: pkcs11: fix trace compilation warning

Fix the following compilation issue:
$ make PLATFORM=imx-mx8mmevk CFG_TEE_TA_LOG_LEVEL=4 CFG_PKCS11_TA=y

In file included from out/arm-plat-imx/export-ta_a

ta: pkcs11: fix trace compilation warning

Fix the following compilation issue:
$ make PLATFORM=imx-mx8mmevk CFG_TEE_TA_LOG_LEVEL=4 CFG_PKCS11_TA=y

In file included from out/arm-plat-imx/export-ta_arm64/include/assert.h:9,
from ta/pkcs11/src/entry.c:6:
ta/pkcs11/src/entry.c: In function ‘TA_InvokeCommandEntryPoint’:
ta/pkcs11/src/entry.c:143:14: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 7 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
143 | DMSG("%s p#0 %"PRIu32"@%p, p#1 %s %"PRIu32"@%p, p#2 %s %"PRIu32"@%p",
| ^~~~~~~~~~
144 | id2str_ta_cmd(cmd),
145 | params[0].memref.size, params[0].memref.buffer,
| ~~~~~~~~~~~~~~~~~~~~~
| |
| size_t {aka long unsigned int}
out/arm-plat-imx/export-ta_arm64/include/trace.h:41:22: note: in definition of macro ‘trace_printf_helper’
41 | __VA_ARGS__)
| ^~~~~~~~~~~
ta/pkcs11/src/entry.c:143:9: note: in expansion of macro ‘DMSG’
143 | DMSG("%s p#0 %"PRIu32"@%p, p#1 %s %"PRIu32"@%p, p#2 %s %"PRIu32"@%p",
| ^~~~
ta/pkcs11/src/entry.c:143:23: note: format string is defined here
143 | DMSG("%s p#0 %"PRIu32"@%p, p#1 %s %"PRIu32"@%p, p#2 %s %"PRIu32"@%p",
| ~^
| |
| unsigned int
| %lu
ta/pkcs11/src/entry.c:143:14: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 10 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
143 | DMSG("%s p#0 %"PRIu32"@%p, p#1 %s %"PRIu32"@%p, p#2 %s %"PRIu32"@%p",
| ^~~~~~~~~~
......
148 | param_is_memref(ptypes, 1) ? params[1].memref.size : 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| size_t {aka long unsigned int}
out/arm-plat-imx/export-ta_arm64/include/trace.h:41:22: note: in definition of macro ‘trace_printf_helper’
41 | __VA_ARGS__)
| ^~~~~~~~~~~
ta/pkcs11/src/entry.c:143:9: note: in expansion of macro ‘DMSG’
143 | DMSG("%s p#0 %"PRIu32"@%p, p#1 %s %"PRIu32"@%p, p#2 %s %"PRIu32"@%p",
| ^~~~
ta/pkcs11/src/entry.c:143:14: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 13 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
143 | DMSG("%s p#0 %"PRIu32"@%p, p#1 %s %"PRIu32"@%p, p#2 %s %"PRIu32"@%p",
| ^~~~~~~~~~
......
152 | param_is_memref(ptypes, 2) ? params[2].memref.size : 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| size_t {aka long unsigned int}
out/arm-plat-imx/export-ta_arm64/include/trace.h:41:22: note: in definition of macro ‘trace_printf_helper’
41 | __VA_ARGS__)
| ^~~~~~~~~~~
ta/pkcs11/src/entry.c:143:9: note: in expansion of macro ‘DMSG’
143 | DMSG("%s p#0 %"PRIu32"@%p, p#1 %s %"PRIu32"@%p, p#2 %s %"PRIu32"@%p",
| ^~~~

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies_paged.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_optee_smc.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/drivers/tzc380.c
/optee_os/core/arch/arm/plat-imx/link.mk
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-k3/conf.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-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-totalcompute/conf.mk
/optee_os/core/arch/arm/plat-versal/conf.mk
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/riscv/kernel/thread_arch.c
/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/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/caam_jr.c
/optee_os/core/drivers/crypto/caam/include/caam_hal_jr.h
/optee_os/core/drivers/crypto/versal/crypto.mk
/optee_os/core/drivers/crypto/versal/ecc.c
/optee_os/core/drivers/crypto/versal/rsa.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_etzpc.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/stm32_uart.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/dt-bindings/clock/at91.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/kernel/ldelf_loader.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/thread.c
/optee_os/core/kernel/tpm.c
/optee_os/core/lib/libtomcrypt/ed25519.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/pta/bcm/wdt.c
/optee_os/core/pta/k3/otp.c
/optee_os/core/pta/k3/sub.mk
/optee_os/core/pta/stats.c
/optee_os/core/pta/sub.mk
/optee_os/core/pta/tests/misc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/ldelf/include/ldelf.h
/optee_os/ldelf/main.c
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/lib/libutee/arch/arm/arm32_user_sysreg.txt
/optee_os/lib/libutee/include/k3/otp_keywriting_ta.h
/optee_os/lib/libutee/include/tee_api_defines.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutils/ext/include/compiler.h
/optee_os/lib/libutils/ext/pthread_stubs.c
/optee_os/lib/libutils/ext/sub.mk
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/malloc.h
/optee_os/mk/config.mk
/optee_os/mk/lib.mk
/optee_os/scripts/ts_bin_to_c.py
pkcs11/src/entry.c

12345678910>>...20