| fe2fd3ff | 24-Nov-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
GP131: Add TEE_ALG_ECDH_DERIVE_SHARED_SECRET and TEE_ALG_ECDSA_SHA*
Adds the defines - TEE_ALG_ECDH_DERIVE_SHARED_SECRET - TEE_ALG_ECDSA_SHA1 - TEE_ALG_ECDSA_SHA224 - TEE_ALG_ECDSA_SHA256 - TEE_ALG_
GP131: Add TEE_ALG_ECDH_DERIVE_SHARED_SECRET and TEE_ALG_ECDSA_SHA*
Adds the defines - TEE_ALG_ECDH_DERIVE_SHARED_SECRET - TEE_ALG_ECDSA_SHA1 - TEE_ALG_ECDSA_SHA224 - TEE_ALG_ECDSA_SHA256 - TEE_ALG_ECDSA_SHA386 - TEE_ALG_ECDSA_SHA512 from TEE Internal Core API version 1.3.1 to replace the previous now deprecated defines: - TEE_ALG_ECDSA_P192 - TEE_ALG_ECDSA_P224 - TEE_ALG_ECDSA_P256 - TEE_ALG_ECDSA_P384 - TEE_ALG_ECDSA_P521 - TEE_ALG_ECDH_P192 - TEE_ALG_ECDH_P224 - TEE_ALG_ECDH_P256 - TEE_ALG_ECDH_P384 - TEE_ALG_ECDH_P521
The new defines have new values and the values from the old defines are not reused.
The syscall ABI maintains compatibility by handling both the old and new values in parallel from now on.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 36f7daa0 | 14-Dec-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
Update reported version to GP TEE Core Internal API v1.3.1
The UUID assigned to libutee when compiled as a shared library is update to let old TAs use the ABI of the old libutee before it's upgraded
Update reported version to GP TEE Core Internal API v1.3.1
The UUID assigned to libutee when compiled as a shared library is update to let old TAs use the ABI of the old libutee before it's upgraded to support Internal API v1.3.1.
This commit is followed by a number of commits which finally brings OP-TEE up to date with v1.3.1.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9e7f74ce | 19-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
pta: imx: add OCOTP PTA
Add a OCOTP PTA for i.MX platforms. This PTA exposes two commands: - the read of OCOTP shadow registers. - the read of the platform UID.
Signed-off-by: Clement Faure <clem
pta: imx: add OCOTP PTA
Add a OCOTP PTA for i.MX platforms. This PTA exposes two commands: - the read of OCOTP shadow registers. - the read of the platform UID.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| e91fa6a0 | 19-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
pta: imx: add DIGPROG PTA
Add an i.MX PTA to get the platform digprog value. This 32 bits value holds the SOC type and the minor and major revision number.
Signed-off-by: Clement Faure <clement.fau
pta: imx: add DIGPROG PTA
Add an i.MX PTA to get the platform digprog value. This 32 bits value holds the SOC type and the minor and major revision number.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| df9b559a | 04-Jan-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
pta: stm32mp: mention access denied error code in BSEC PTA API
Fixes BSEC PTA API header file that did not mention possible error code TEE_ERROR_ACCESS_DENIED for command PTA_BSEC_CMD_READ_OTP.
Fix
pta: stm32mp: mention access denied error code in BSEC PTA API
Fixes BSEC PTA API header file that did not mention possible error code TEE_ERROR_ACCESS_DENIED for command PTA_BSEC_CMD_READ_OTP.
Fixes: 4583de067b5d ("pta: stm32mp: add BSEC PTA") Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 16a5030f | 02-Dec-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: pta: scmi: internal switches for supported transports
Adds internal configuration switch _CFG_SMCI_PTA_SMT_HEADER and _CFG_SCMI_PTA_MSG_HEADER to specify which are supported. This change will
core: pta: scmi: internal switches for supported transports
Adds internal configuration switch _CFG_SMCI_PTA_SMT_HEADER and _CFG_SCMI_PTA_MSG_HEADER to specify which are supported. This change will ease integration of the alternate SCMI server build from SCP-firmware.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 2f18fc50 | 21-Dec-2022 |
liushiwei <liushiwei@eswincomputing.com> |
libutee: riscv: modify the UTEE_SYSCALL assembly
Use li instead of mv in UTEE_SYSCALL, store the num_args in the t1 register. This works on RV32 and RV64, so change the compile control and rename th
libutee: riscv: modify the UTEE_SYSCALL assembly
Use li instead of mv in UTEE_SYSCALL, store the num_args in the t1 register. This works on RV32 and RV64, so change the compile control and rename the file.
Signed-off-by: liushiwei <liushiwei@eswincomputing.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4583de06 | 12-Dec-2022 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
pta: stm32mp: add BSEC PTA
Add BSEC PTA to offer an interface with One Time Programmed resources (OTPs) of stm32mp1x platforms.
This interface allows non-secure world clients to get the state of th
pta: stm32mp: add BSEC PTA
Add BSEC PTA to offer an interface with One Time Programmed resources (OTPs) of stm32mp1x platforms.
This interface allows non-secure world clients to get the state of the BSEC, and read and write the OTPs. The REE has restricted access on OTPs, the policy is defined in the embedded DT.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 6fb40af3 | 14-Dec-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: clarify that the used version is still 1.1
Clarifies that the used version in TEE Internal Core API is still v1.1. Changes the version defines back to v1.1.0.
Acked-by: Etienne Carriere <e
libutee: clarify that the used version is still 1.1
Clarifies that the used version in TEE Internal Core API is still v1.1. Changes the version defines back to v1.1.0.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9d7dd419 | 08-Dec-2022 |
liushiwei <liushiwei@eswincomputing.com> |
libutee: support RISC-V syscall
Add 64-bit RISC-V TA system call function. Modify the utee_syscalls_asm.S file to be generic.
Signed-off-by: liushiwei <liushiwei@eswincomputing.com> Reviewed-by: ch
libutee: support RISC-V syscall
Add 64-bit RISC-V TA system call function. Modify the utee_syscalls_asm.S file to be generic.
Signed-off-by: liushiwei <liushiwei@eswincomputing.com> Reviewed-by: chenchaokai <chenchaokai@eswincomputing.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6240c6e1 | 02-Dec-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: remove _utee_se_*() prototypes
Removes the obsolete _utee_se_*() prototypes in utee_syscalls.h.
Fixes: e147a447ccc0 ("Remove Secure Element API support") Reviewed-by: Etienne Carriere <eti
libutee: remove _utee_se_*() prototypes
Removes the obsolete _utee_se_*() prototypes in utee_syscalls.h.
Fixes: e147a447ccc0 ("Remove Secure Element API support") Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 32c75600 | 01-Dec-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: fix TEE_MemFill() return type
TEE_MemFill() has until this patch returned a void *, but the standard says it should return void. So fix this.
Reviewed-by: Etienne Carriere <etienne.carrier
libutee: fix TEE_MemFill() return type
TEE_MemFill() has until this patch returned a void *, but the standard says it should return void. So fix this.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1b865ed6 | 05-Dec-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
Fix TEE_ATTR_ECC_EPHEMERAL_PUBLIC_VALUE_*
Commit 5b385b3f835d ("core: crypto: add support for SM2 KEP")defined by mistake the wrong values for these two. To fix this we're are renaming these IDs alt
Fix TEE_ATTR_ECC_EPHEMERAL_PUBLIC_VALUE_*
Commit 5b385b3f835d ("core: crypto: add support for SM2 KEP")defined by mistake the wrong values for these two. To fix this we're are renaming these IDs alternative IDs which OP-TEE will recognize in addition to the correct official values when deriving a key using the TEE_ALG_SM2_KEP algorithm.
TEE_ATTR_ECC_EPHEMERAL_PUBLIC_VALUE_X and TEE_ATTR_ECC_EPHEMERAL_PUBLIC_VALUE_Y are only used as input parameters so there is no need to translate back to the old invalid values.
Fixes: 5b385b3f835d ("core: crypto: add support for SM2 KEP") Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 696f56ac | 22-Nov-2022 |
Pingan Xie <xiepingan3@huawei.com> |
core, libutee: introduce TEE_ALG_SM4_XTS
In this patch, The sm4-xts algorithm is supported in the GP process.
Signed-off-by: Pingan Xie <xiepingan3@huawei.com> Reviewed-by: Xiaoxu Zeng <zengxiaoxu@
core, libutee: introduce TEE_ALG_SM4_XTS
In this patch, The sm4-xts algorithm is supported in the GP process.
Signed-off-by: Pingan Xie <xiepingan3@huawei.com> Reviewed-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 8bbc2e9c | 29-Nov-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
Update reported version to GP Core Internal API v1.3.1
Updates the reported version to 1.3.1. Three new defines: - TEE_CORE_API_REQUIRED_MAJOR_VERSION - TEE_CORE_API_REQUIRED_MINOR_VERSION - TEE_COR
Update reported version to GP Core Internal API v1.3.1
Updates the reported version to 1.3.1. Three new defines: - TEE_CORE_API_REQUIRED_MAJOR_VERSION - TEE_CORE_API_REQUIRED_MINOR_VERSION - TEE_CORE_API_REQUIRED_MAINTENANCE_VERSION are added by the standard as a way for the TA to specify required version of the API. OP-TEE only supports downgrading to version 1.1.
A simplified OP-TEE specific method is also provided: Adds the configuration option CFG_TA_OPTEE_CORE_API_COMPAT_1_1 which enables TEE Internal Core API v1.1 compatibility for in-tree TAs.
The TA dev kit is also updated to recognize CFG_TA_OPTEE_CORE_API_COMPAT_1_1 and set define __OPTEE_CORE_API_COMPAT_1_1 to 1 if set.
These new defines does not do anything yet, but in following commits functions and types will be updated gradually until all functions and types changed in version 1.3.1 compared to the ones in v1.1 have been updated.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8fab4371 | 30-Nov-2022 |
liushiwei <liushiwei@eswincomputing.com> |
ldelf: support RISC-V
Add 64-bit RISC-V ldelf startup assembly and parsing 64-bit ELF files.
Signed-off-by: liushiwei <liushiwei@eswincomputing.com> Tested-by: liushiwei <liushiwei@eswincomputing.c
ldelf: support RISC-V
Add 64-bit RISC-V ldelf startup assembly and parsing 64-bit ELF files.
Signed-off-by: liushiwei <liushiwei@eswincomputing.com> Tested-by: liushiwei <liushiwei@eswincomputing.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 75d6a373 | 28-Nov-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
Use struct utee_object_info in TA syscall abi
TEE_ObjectInfo was until now used in the syscall ABI provided to TAs. TEE_ObjectInfo changes in later versions of the TEE Internal Core API so add an in
Use struct utee_object_info in TA syscall abi
TEE_ObjectInfo was until now used in the syscall ABI provided to TAs. TEE_ObjectInfo changes in later versions of the TEE Internal Core API so add an independent definition with struct utee_object_info in order to preserve a stable ABI.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4b0f9953 | 26-Nov-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
Move tee_api.h and tee_ta_api.h into tee_internal_api.h
The Global Platform TEE Internal Core specifications only mentions tee_internal_api.h, the other .h files are part of the OP-TEE specific impl
Move tee_api.h and tee_ta_api.h into tee_internal_api.h
The Global Platform TEE Internal Core specifications only mentions tee_internal_api.h, the other .h files are part of the OP-TEE specific implementation. Having a separate tee_api_defines.h for defines and a tee_api_types.h for types is useful in OP-TEE core, but tee_api.h and tee_ta_api.h adds nothing of value. Quite the opposite as it will make it harder than necessary to implement the macro tricks needed for backwards compatibility when updating to a more recent standard.
So to simplify things, move function declarations in tee_api.h and tee_ta_api.h into tee_internal_api.h. tee_api.h and tee_ta_api.h are kept for compatibility, but they are only including <tee_internal_api.h>.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| cb94c145 | 21-Oct-2022 |
Weizhao Jiang <weizhaoj@amazon.com> |
core: implement a method to dump user TA runtime status
This patch is to dump user TA runtime status for debug purposes. The change includes: 1. Add new command (STATS_CMD_TA_STATS) in the stats PTA
core: implement a method to dump user TA runtime status
This patch is to dump user TA runtime status for debug purposes. The change includes: 1. Add new command (STATS_CMD_TA_STATS) in the stats PTA. 2. Add tee_ta_dump_stats() to scan all ongoing TA instance and sessions and snapshot their status. 3. Add new function: entry_dump_memstats() to __utee_entry() to get TA heap statistics. 4. Add new compile option (CFG_TA_STATS, default n) to enable this feature.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Weizhao Jiang <weizhaoj@amazon.com> Signed-off-by: Weizhao Jiang <weizhaoj@amazon.com> [jf: edit commit message] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| d29e68dd | 02-Nov-2022 |
Weizhao Jiang <weizhaoj@amazon.com> |
libutee: change __utee_entry() handling on unknown function IDs
Change __utee_entry() to return TEE_ERROR_NOT_SUPPORTED instead panicking when handling unknown entry function IDs.
Reviewed-by: Jens
libutee: change __utee_entry() handling on unknown function IDs
Change __utee_entry() to return TEE_ERROR_NOT_SUPPORTED instead panicking when handling unknown entry function IDs.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Weizhao Jiang <weizhaoj@amazon.com> Signed-off-by: Weizhao Jiang <weizhaoj@amazon.com> [jf: edit commit message] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| e1f9cee7 | 12-Aug-2022 |
Sergiy Kibrik <Sergiy_Kibrik@epam.com> |
libutee: add Ed25519 support
This commit adds Ed25519 support as defined in TEE Internal Core API v1.3.1
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com> Signed-off-by: Valerii Chubar <valerii
libutee: add Ed25519 support
This commit adds Ed25519 support as defined in TEE Internal Core API v1.3.1
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com> Signed-off-by: Valerii Chubar <valerii_chubar@epam.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d9925536 | 23-Aug-2022 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm32: libutils, libutee, ta: add .note.GNU-stack section to .S files
When building for arm32 with GNU binutils 2.39, the linker outputs warnings when linking Trusted Applications:
arm-unknown-lin
arm32: libutils, libutee, ta: add .note.GNU-stack section to .S files
When building for arm32 with GNU binutils 2.39, the linker outputs warnings when linking Trusted Applications:
arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
We could silence the warning by adding the '--no-warn-execstack' option to the TA link flags, like we did in the parent commit for the TEE core and ldelf. Indeed, ldelf always allocates a non-executable piece of memory for the TA to use as a stack.
However it seems preferable to comply with the common ELF practices in this case. A better fix is therefore to add the missing .note.GNU-stack sections in the assembler files.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0e4dbede | 13-Jul-2022 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
libutee: add SHA3 algorithm identifiers
Add SHA3 algorithm identifiers from TEE Internal Core API Specification Public Release v1.3.1.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Review
libutee: add SHA3 algorithm identifiers
Add SHA3 algorithm identifiers from TEE Internal Core API Specification Public Release v1.3.1.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| e27e865a | 28-Jun-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
pta: rng: rename rng_pta_client.h to pta_rng.h
Renames RNG PTA exported header file from rng_pta_client.h to pta_rng.h as the later follows PTAs header file name convention in optee_os that is pta_x
pta: rng: rename rng_pta_client.h to pta_rng.h
Renames RNG PTA exported header file from rng_pta_client.h to pta_rng.h as the later follows PTAs header file name convention in optee_os that is pta_xxx.h.
Preserve rng_pta_client.h for backward compatibility. That header file only includes pta_rng.h.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 3f61056d | 06-May-2022 |
Sohaib ul Hassan <sohaib.ul.hassan@unikie.com> |
libutee: add X25519 support
This commit adds X25519 support to libutee as defined in TEE Internal Core API v1.2.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier
libutee: add X25519 support
This commit adds X25519 support to libutee as defined in TEE Internal Core API v1.2.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Sohaib ul Hassan <sohaib.ul.hassan@unikie.com> [jf: minor edit to commit description] Signed-off-by: Jerome Forissier <jerone.forissier@linaro.org>
show more ...
|