| a12b98e3 | 29-Aug-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: include: add tee/entry_fast.h
This commit just copies entry_fast.h from ARM and renames thread_smc_args to thread_abi_args.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
core: riscv: include: add tee/entry_fast.h
This commit just copies entry_fast.h from ARM and renames thread_smc_args to thread_abi_args.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Tested-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| a2efa71b | 29-Aug-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: move TEE ABI handlers from thread_rv.S to thread_optee_abi_rv.S
This commits moves the following functions from thread_rv.S to a separate file thread_optee_abi_rv.S:
- thread_return_fr
core: riscv: move TEE ABI handlers from thread_rv.S to thread_optee_abi_rv.S
This commits moves the following functions from thread_rv.S to a separate file thread_optee_abi_rv.S:
- thread_return_from_nsec_call() - thread_std_smc_entry() -> renamed to thread_std_abi_entry() - thread_rpc()
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Tested-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| 3f1a58ff | 29-Aug-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: thread_arch.c: Use of ABI structure instead of SMC structure
SMC is an ARM-related keyword, make use thread_std_abi_entry instead of thread_std_smc_entry.
Signed-off-by: Marouene Bouba
core: riscv: thread_arch.c: Use of ABI structure instead of SMC structure
SMC is an ARM-related keyword, make use thread_std_abi_entry instead of thread_std_smc_entry.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Tested-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| b0f61f0c | 29-Aug-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: thread_private_arch.h: add std and fast calls prototypes
This commit adds the following prototypes to thread_private_arch.h: - thread_std_abi_entry() - __thread_std_abi_entry() - thread
core: riscv: thread_private_arch.h: add std and fast calls prototypes
This commit adds the following prototypes to thread_private_arch.h: - thread_std_abi_entry() - __thread_std_abi_entry() - thread_handle_fast_abi() - thread_handle_std_abi()
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Tested-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| 4d941774 | 29-Aug-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: thread_arch.h: rename thread_smc_args to thread_abi_args
SMC is an ARM-related keyword referring to Secure Monitor Call. This commit renames thread_smc_args to thread_abi_args in thread
core: riscv: thread_arch.h: rename thread_smc_args to thread_abi_args
SMC is an ARM-related keyword referring to Secure Monitor Call. This commit renames thread_smc_args to thread_abi_args in thread_arch.h and keeps the same members to guarantee compatibility with the existing secure and non-secure domain communication protocol.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Tested-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| 9240925f | 24-Aug-2023 |
Andrew Davis <afd@ti.com> |
plat-k3: Default to 2 core per cluster only for AM65x
All other SoCs have 4 cores per cluster, which is the default, or they only have one cluster in which case this value is unimportant.
Signed-of
plat-k3: Default to 2 core per cluster only for AM65x
All other SoCs have 4 cores per cluster, which is the default, or they only have one cluster in which case this value is unimportant.
Signed-off-by: Andrew Davis <afd@ti.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5f1edb13 | 20-Sep-2023 |
Balint Dobszay <balint.dobszay@arm.com> |
core: sp: fix raw binary format SP loader
Loading a compressed raw binary format SP fails when read_compressed() in embedded_ts.c is trying to allocate memory using bb_alloc(), since the bounce buff
core: sp: fix raw binary format SP loader
Loading a compressed raw binary format SP fails when read_compressed() in embedded_ts.c is trying to allocate memory using bb_alloc(), since the bounce buffer in this user_mode_ctx is uninitialized. For ELF format SPs ldelf is taking care of this, let's add the necessary initialization to the raw binary format loader too.
Fixes: ef44161f847b ("core: update ts_store API with user space buffer") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
show more ...
|
| 15483bde | 21-Sep-2023 |
Balint Dobszay <balint.dobszay@arm.com> |
core: tpm: don't write to SPMC manifest
If "CFG_CORE_SEL1_SPMC=y" the TPM event log info is read from the SPMC manifest instead of the external DT. The TPM event log handler code is setting the even
core: tpm: don't write to SPMC manifest
If "CFG_CORE_SEL1_SPMC=y" the TPM event log info is read from the SPMC manifest instead of the external DT. The TPM event log handler code is setting the event log's address to zero in the DT, which fails since the SPMC manifest is mapped as read-only. Remove this zeroing for the S-EL1 SPMC use case, it has no added security benefits since the SPMC manifest DT itself is always in secure memory anyways.
Fixes: 722c618f0dfa ("core: map manifest using MEM_AREA_MANIFEST_DT") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
show more ...
|
| 00b7b3eb | 15-Sep-2023 |
Ibai Erkiaga <ibai.erkiaga-elorza@amd.com> |
zynqmp: remove redundant platform config code
The hardware description is identical in all the platforms, there is no need for specific ultra96 code to define base addresses.
Signed-off-by: Ibai Er
zynqmp: remove redundant platform config code
The hardware description is identical in all the platforms, there is no need for specific ultra96 code to define base addresses.
Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@amd.com> Acked-by: Joakim Bech <joakim.bech@linaro.org> Acked-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3050ae8a | 08-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: unconditionally support manifest DT with FF-A
When configured for FF-A (CFG_CORE_FFA=y) unconditionally support receiving at manifest device tree. This also makes CFG_DT=y mandatory with FF-A.
core: unconditionally support manifest DT with FF-A
When configured for FF-A (CFG_CORE_FFA=y) unconditionally support receiving at manifest device tree. This also makes CFG_DT=y mandatory with FF-A.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| af7da03a | 13-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: always save manifest DT with CFG_CORE_SEL2_SPMC=y
With CFG_CORE_SEL2_SPMC=y the manifest device tree is passed via boot info from the SPMC at S-EL2. This manifest can contain configuration nee
core: always save manifest DT with CFG_CORE_SEL2_SPMC=y
With CFG_CORE_SEL2_SPMC=y the manifest device tree is passed via boot info from the SPMC at S-EL2. This manifest can contain configuration needed later during boot, so save it always regardless of CFG_CORE_PHYS_RELOCATABLE.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 0bbbe306 | 13-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: make core_mmu_set_secure_memory() available
Makes core_mmu_set_secure_memory() unconditionally available, but add a runtime_assert() to protect against calls without CFG_CORE_PHYS_RELOCATABLE=
core: make core_mmu_set_secure_memory() available
Makes core_mmu_set_secure_memory() unconditionally available, but add a runtime_assert() to protect against calls without CFG_CORE_PHYS_RELOCATABLE=y.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| b9526392 | 13-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutils: add runtime_assert()
Adds runtime_assert() as a version of assert() that can be used instead of assert() when evaluating constant expressions to avoid the warning: error: function might be
libutils: add runtime_assert()
Adds runtime_assert() as a version of assert() that can be used instead of assert() when evaluating constant expressions to avoid the warning: error: function might be candidate for attribute ‘noreturn’
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 722c618f | 13-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: map manifest using MEM_AREA_MANIFEST_DT
Maps the manifest using MEM_AREA_MANIFEST_DT and unmap it at the end of boot. The manifest DT has a life cycle similar to an external DT, except that it
core: map manifest using MEM_AREA_MANIFEST_DT
Maps the manifest using MEM_AREA_MANIFEST_DT and unmap it at the end of boot. The manifest DT has a life cycle similar to an external DT, except that it's mapped read-only and always secure. It's not available once exiting after the initial boot
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 330e04ef | 13-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename tos_fw_config_dt to manifest_dt
Renames tos_fw_config_dt to manifest_dt as a preparation for coming patches to let it represent all device tree manifests provided in an FF-A configurati
core: rename tos_fw_config_dt to manifest_dt
Renames tos_fw_config_dt to manifest_dt as a preparation for coming patches to let it represent all device tree manifests provided in an FF-A configuration.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d4bd157e | 08-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add MEM_AREA_MANIFEST_DT
Adds MEM_AREA_MANIFEST_DT for mapping an FF-A manifest FDT.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by:
core: add MEM_AREA_MANIFEST_DT
Adds MEM_AREA_MANIFEST_DT for mapping an FF-A manifest FDT.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1bd3fe5d | 24-Aug-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
crypto: stm32: fix SAES reset at probe time
Uses SAES internal reset sequence only when external reset controller is not available. This change fixes a non-systematic SAES error seen when SAES inter
crypto: stm32: fix SAES reset at probe time
Uses SAES internal reset sequence only when external reset controller is not available. This change fixes a non-systematic SAES error seen when SAES internal reset is triggered right after external reset sequence. Whereas a fix could be to add a delay between external reset and internal reset sequences, this change simplifies the sequence as internal reset sequence is not needed when SAES instance is reset using its external reset controller.
Fixes: 4320f5cf30c5 ("crypto: stm32: SAES cipher support") Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 54739cb4 | 12-Sep-2023 |
Mark-PK Tsai <mark-pk.tsai@mediatek.com> |
driver: gic: support sgi raise for gicv3
Use write_icc_sgi1r() and write_icc_asgi1r() to raise SGI for gicv3. And move the assertion from gic_it_raise_sgi() to the caller function to improve the rea
driver: gic: support sgi raise for gicv3
Use write_icc_sgi1r() and write_icc_asgi1r() to raise SGI for gicv3. And move the assertion from gic_it_raise_sgi() to the caller function to improve the readability of gic_it_raise_sgi().
Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 56856ba6 | 13-Sep-2023 |
Mark-PK Tsai <mark-pk.tsai@mediatek.com> |
core: arm.h: Add MPIDR definition for aff3 field
Adds define MPIDR_AFF3_SHIFT and MPIDR_AFF3_MASK. And extend MPIDR_AFFLVL_MASK to 64 bits to support the 64-bit MPIDR_EL1 on aarch64.
Signed-off-by:
core: arm.h: Add MPIDR definition for aff3 field
Adds define MPIDR_AFF3_SHIFT and MPIDR_AFF3_MASK. And extend MPIDR_AFFLVL_MASK to 64 bits to support the 64-bit MPIDR_EL1 on aarch64.
Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b430491e | 13-Sep-2023 |
Mark-PK Tsai <mark-pk.tsai@mediatek.com> |
core: arm64: Add write_icc_sgi1r() and write_icc_asgi1r()
Adds the wrapper function write_icc_sgi1r() and write_icc_asgi1r() to write ICC_SGI1R and ICC_ASGI1R to generate group 1 SGIs for the secure
core: arm64: Add write_icc_sgi1r() and write_icc_asgi1r()
Adds the wrapper function write_icc_sgi1r() and write_icc_asgi1r() to write ICC_SGI1R and ICC_ASGI1R to generate group 1 SGIs for the secure and non-secure state CPU.
Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 44ce4e40 | 02-Jun-2023 |
Clement Faure <clement.faure@nxp.com> |
core: pta: imx: add DEK blob
Add DEK blob PTA to generate CAAM DEK blobs.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 280dd882 | 02-Jun-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: add DEK blob support
The CAAM can generate a specific key blob called DEK blob - Data Encryption Key blob. It encapsulates and encrypts the plain text key used to encrypt the boot ima
drivers: caam: add DEK blob support
The CAAM can generate a specific key blob called DEK blob - Data Encryption Key blob. It encapsulates and encrypts the plain text key used to encrypt the boot image. This blob is decapsulated by the HAB - High Assurance boot at boot to decrypt the boot image.
The DEK blob is a specific CAAM blob as it requires a header and the key must be encapsulated from the CAAM secure memory.
Enable the CAAM DEK blob support on imx8m platforms.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2a12ae23 | 02-Jun-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: add CAAM secure memory driver
Add CAAM secure memory support. The CAAM secure memory is an embedded memory within the CAAM used for data protection and special operations.
Enable the
drivers: caam: add CAAM secure memory driver
Add CAAM secure memory support. The CAAM secure memory is an embedded memory within the CAAM used for data protection and special operations.
Enable the allocation of secure memory pages and partitions used by job rings as input/output for special cryptographic operations.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b7815eed | 02-Jun-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: add HAL for secure memory driver
Add hardware abstraction layer for CAAM secure memory registers. The majority of the implementation is common to all i.MX platforms. Only the secure m
drivers: caam: add HAL for secure memory driver
Add hardware abstraction layer for CAAM secure memory registers. The majority of the implementation is common to all i.MX platforms. Only the secure memory physical address retrieve method is platform specific. In this commit, this method is implemented for imx8m platforms only.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d2f982b6 | 29-Mar-2023 |
Clement Faure <clement.faure@nxp.com> |
core: imx: add secure memory registers for imx8m platforms
Add SECMEM_BASE and SECMEM_SIZE values.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@lina
core: imx: add secure memory registers for imx8m platforms
Add SECMEM_BASE and SECMEM_SIZE values.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|