| 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 ...
|
| 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 ...
|
| 44a41439 | 24-Aug-2023 |
Imre Kis <imre.kis@arm.com> |
core: spmc: Fix setting the destination of FFA_ERROR calls
Fixing multiple issues in the destination logic of FFA_ERROR messages. ffa_handle_error extracted the destination FF-A ID from the lower 16
core: spmc: Fix setting the destination of FFA_ERROR calls
Fixing multiple issues in the destination logic of FFA_ERROR messages. ffa_handle_error extracted the destination FF-A ID from the lower 16 bit of W1. First of all this register should only be set at the NS virtual FF-A instance. Secondly W1 was not set correctly when an error happened in ffa_handle_sp_direct_req and ffa_handle_sp_direct_resp. This could cause sending FFA_ERROR messages to the wrong FF-A endpoint. The patch clears up the faulty destination handling across all these functions.
Signed-off-by: Imre Kis <imre.kis@arm.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 649e9731 | 22-Aug-2023 |
Imre Kis <imre.kis@arm.com> |
core: spmc: Clear reserved registers in FFA_ERROR calls
Clear reserved registers in FFA_ERROR calls which are declared MBZ in the FF-A specification. This also prevents potential information leaks.
core: spmc: Clear reserved registers in FFA_ERROR calls
Clear reserved registers in FFA_ERROR calls which are declared MBZ in the FF-A specification. This also prevents potential information leaks.
Signed-off-by: Imre Kis <imre.kis@arm.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 45afee9a | 08-Aug-2023 |
Imre Kis <imre.kis@arm.com> |
core: spmc: Set initial SP state to busy
Set initial SP state to busy in order to prevent sending messages to uninitialized SPs.
Signed-off-by: Imre Kis <imre.kis@arm.com> Acked-by: Jens Wiklander
core: spmc: Set initial SP state to busy
Set initial SP state to busy in order to prevent sending messages to uninitialized SPs.
Signed-off-by: Imre Kis <imre.kis@arm.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3dfe8809 | 08-Aug-2023 |
Xiaoxu Zeng <zengxiaoxu@huawei.com> |
core: arm64: write_64bit_pair()
Implement write_64bit_pair that write two 64 bits data together.
Signed-off-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Reviewed-by: Jens Wiklander <jens.wiklander@linar
core: arm64: write_64bit_pair()
Implement write_64bit_pair that write two 64 bits data together.
Signed-off-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ef44161f | 25-Aug-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: update ts_store API with user space buffer
Updates the read() function pointer in struct ts_store_ops to take an user space buffer in addition to the previous core buffer. Core buffers are nor
core: update ts_store API with user space buffer
Updates the read() function pointer in struct ts_store_ops to take an user space buffer in addition to the previous core buffer. Core buffers are normal secure memory while user space buffers should only be accessed using the user_access.h functions.
The different TA storage implementations are updated accordingly.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| cff92aa4 | 29-Aug-2023 |
Chia-Wei Wang <chiawei_wang@aspeedtech.com> |
arm: aspeed: Update secure memory layout
Update the TZDRAM region based on the 1GB DRAM space of Aspeed AST2600/AST2700 EVBs.
Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Acked-by: Je
arm: aspeed: Update secure memory layout
Update the TZDRAM region based on the 1GB DRAM space of Aspeed AST2600/AST2700 EVBs.
Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9115cdfa | 02-Aug-2023 |
Gowthami <gthiagarajan@marvell.com> |
plat-marvell: Add support for CN10K SoCs
Add support for CN10K SoCs from Marvell.
Only tested 64-bit mode with default configurations:
1. Build command make PLATFORM=marvell-cn10ka 2. Pass
plat-marvell: Add support for CN10K SoCs
Add support for CN10K SoCs from Marvell.
Only tested 64-bit mode with default configurations:
1. Build command make PLATFORM=marvell-cn10ka 2. Passed xtest
Signed-off-by: Gowthami <gthiagarajan@marvell.com> Reviewed-by: Anil Kumar Reddy <areddy3@marvell.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f9f2a146 | 24-Aug-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: support larger values for CFG_TEE_CORE_NB_CORE
With larger values of CFG_TEE_CORE_NB_CORE (for example, 18 on the marvell-cnf10ka platform) CORE_MMU_BASE_TABLE_OFFSET becomes to large to be us
core: support larger values for CFG_TEE_CORE_NB_CORE
With larger values of CFG_TEE_CORE_NB_CORE (for example, 18 on the marvell-cnf10ka platform) CORE_MMU_BASE_TABLE_OFFSET becomes to large to be used as an immediate value in add and sub assembly instructions. This is handle by using the new add_imm and sub_imm macros where needed. But the add_imm and sub_imm macros can't handle complex defines so CORE_MMU_BASE_TABLE_OFFSET must be evaluated in asm-defines.c first.
This should fix errors like: core/arch/arm/kernel/thread_a64.S: Assembler messages: core/arch/arm/kernel/thread_a64.S:339: Error: immediate out of range core/arch/arm/kernel/thread_a64.S:347: Error: immediate out of range core/arch/arm/kernel/thread_a64.S:355: Error: immediate out of range core/arch/arm/kernel/thread_a64.S:372: Error: immediate out of range core/arch/arm/kernel/thread_a64.S:379: Error: immediate out of range core/arch/arm/kernel/thread_a64.S:386: Error: immediate out of range core/arch/arm/kernel/thread_a64.S:660: Error: immediate out of range core/arch/arm/kernel/thread_a64.S:732: Error: immediate out of range make: *** [mk/compile.mk:165: out/core/arch/arm/kernel/thread_a64.o] Error 1
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Gowthami <gthiagarajan@marvell.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 733655e6 | 24-Aug-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm64: add add_imm and sub_imm assembly macros
Adds the add_imm and sub_imm assembly macros capable of adding or subtracting a 24-bit immediate value to or from a general purpose register.
Si
core: arm64: add add_imm and sub_imm assembly macros
Adds the add_imm and sub_imm assembly macros capable of adding or subtracting a 24-bit immediate value to or from a general purpose register.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 52a75a25 | 20-Jul-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: mm: move pgt_cache.c to core/mm
This commit moves core/arch/arm/mm/pgt_cache.c to core/mm/pgt_cache.c The implementation can be used by other architectures. The commit does not rename CFG_CORE
core: mm: move pgt_cache.c to core/mm
This commit moves core/arch/arm/mm/pgt_cache.c to core/mm/pgt_cache.c The implementation can be used by other architectures. The commit does not rename CFG_CORE_PREALLOC_EL0_TBLS flag and other depending flags (CFG_WITH_PAGER, CFG_WITH_LPAE). Therefore, an architecture implementation may set or not these flags.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| da62cec1 | 23-Aug-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: asan: arm64: increase stack sizes for ASAN
Increase STACK_TMP_SIZE and STACK_THREAD_SIZE when CFG_CORE_SANITIZE_KADDRESS=y. With that, xtest passes on PLATFORM=vexpress-qemu_armv8a.
Signed-of
core: asan: arm64: increase stack sizes for ASAN
Increase STACK_TMP_SIZE and STACK_THREAD_SIZE when CFG_CORE_SANITIZE_KADDRESS=y. With that, xtest passes on PLATFORM=vexpress-qemu_armv8a.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1766b7a6 | 23-Aug-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: asan: initialize __exidx and __extab only for __arm__
__exidx_start/__exidx_end and __extab_start/__extab_end are defined only for 32-bit Arm, so guard their ASAN initialization with __arm__.
core: asan: initialize __exidx and __extab only for __arm__
__exidx_start/__exidx_end and __extab_start/__extab_end are defined only for 32-bit Arm, so guard their ASAN initialization with __arm__.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e367213c | 23-Aug-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
qemu_armv8a: define CFG_ASAN_SHADOW_OFFSET
Sets the proper value for CFG_ASAN_SHADOW_OFFSET in order to enable CFG_CORE_SANITIZE_KADDRESS=y.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro
qemu_armv8a: define CFG_ASAN_SHADOW_OFFSET
Sets the proper value for CFG_ASAN_SHADOW_OFFSET in order to enable CFG_CORE_SANITIZE_KADDRESS=y.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e708156a | 09-Aug-2023 |
Sriram Sriram <sriramsriram@microsoft.com> |
core: arm: plat-versal: Add maybe_unused attribute to constant strings
If log level is set to print only EMSGs, constant strings can be unused. Add maybe_unused attribute to prevent compilation erro
core: arm: plat-versal: Add maybe_unused attribute to constant strings
If log level is set to print only EMSGs, constant strings can be unused. Add maybe_unused attribute to prevent compilation errors.
Signed-off-by: Sriram Sriram <sriramsriram@microsoft.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 7f09267e | 30-Jun-2023 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
plat-stm32mp1: conf: default enable SAES
Default enable SAES compilation. Enable the STM32_CRYPTO_DRIVERS if any crypto SAES or CRYP is compiled.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@fos
plat-stm32mp1: conf: default enable SAES
Default enable SAES compilation. Enable the STM32_CRYPTO_DRIVERS if any crypto SAES or CRYP is compiled.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 09810623 | 30-Jun-2023 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
plat-stm32mp1: allocate SAES to secure world
SAES was allocated to non-secure world but it should be allocated to OP-TEE.
Fixes: b5ec47ff7668 ("plat-stm32mp1: temporary ETZPC configuration") Signed
plat-stm32mp1: allocate SAES to secure world
SAES was allocated to non-secure world but it should be allocated to OP-TEE.
Fixes: b5ec47ff7668 ("plat-stm32mp1: temporary ETZPC configuration") Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 846a948a | 06-Aug-2023 |
Margarita Glushkin <rutigl@gmail.com> |
plat-nuvoton: force CFG_EXTERNAL_DT=n
Disables DT insecure warning
Co-developed-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com>
plat-nuvoton: force CFG_EXTERNAL_DT=n
Disables DT insecure warning
Co-developed-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Margarita Glushkin <rutigl@gmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| fcc4d37d | 24-Jul-2023 |
Margarita Glushkin <rutigl@gmail.com> |
plat-nuvoton: add HUK reading
Implements HUK reading from DME PCR0 located in the PCI mailbox
Co-developed-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Hila Miranda-Kuzi <hil
plat-nuvoton: add HUK reading
Implements HUK reading from DME PCR0 located in the PCI mailbox
Co-developed-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Margarita Glushkin <rutigl@gmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 3c1ad68f | 18-Jul-2023 |
Margarita Glushkin <rutigl@gmail.com> |
plat-nuvoton: change load address, shared memory and SDP memory
Changes load address of OPTEE-OS from 0x36000000 to 0x02100000 Moves shared memory to 0x06000000 Moves SDP memory to 0x05F00000
Co-de
plat-nuvoton: change load address, shared memory and SDP memory
Changes load address of OPTEE-OS from 0x36000000 to 0x02100000 Moves shared memory to 0x06000000 Moves SDP memory to 0x05F00000
Co-developed-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Hila Miranda-Kuzi <hila.miranda.kuzi1@gmail.com> Signed-off-by: Margarita Glushkin <rutigl@gmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| eeca5233 | 11-Oct-2022 |
Carl Lamb <calamb@microsoft.com> |
core: arm: plat-ls: Add CFG_WITH_ARM_TRUSTED_FW flag
If using ARM Trusted Firmware-A, then the GIC initialization is done in BL31.
Fixes: 2b9f23923175 ("plat-ls: Add support for armv8 platform flav
core: arm: plat-ls: Add CFG_WITH_ARM_TRUSTED_FW flag
If using ARM Trusted Firmware-A, then the GIC initialization is done in BL31.
Fixes: 2b9f23923175 ("plat-ls: Add support for armv8 platform flavours") Signed-off-by: Carl Lamb <calamb@microsoft.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Sahil Malhotra <sahil.malhotra@nxp.com>
show more ...
|
| 2b398fe1 | 28-Jul-2021 |
Stephen Carlson <stcarlso@microsoft.com> |
core: arm: plat-bcm: Force CFG_CORE_ARM64_PA_BITS=48
Set CFG_CORE_ARM64_PA_BITS in Broadcom platform file. This fixes a crash when setting up memory addresses on the Broadcom stingray NS3 platform.
core: arm: plat-bcm: Force CFG_CORE_ARM64_PA_BITS=48
Set CFG_CORE_ARM64_PA_BITS in Broadcom platform file. This fixes a crash when setting up memory addresses on the Broadcom stingray NS3 platform.
Signed-off-by: Stephen Carlson <stcarlso@microsoft.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0e84f8ac | 11-Jul-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm64: preserve PSTATE.PAN when making SPSR
When setup_unwind_user_mode() prepares to resume execution after syscall_sys_return() or when a thread is suspended a new SPSR is fabricated base on
core: arm64: preserve PSTATE.PAN when making SPSR
When setup_unwind_user_mode() prepares to resume execution after syscall_sys_return() or when a thread is suspended a new SPSR is fabricated base on the current PSTATE.
Until now when remaining in S-EL1 to fabricate an SPSR only the PSTATE.DAIF bits had to be taken into account. However, with PSTATE.PAN there's yet another bit to consider. Since PSTATE has a few more bits and more may be added as AArch64 evolves this problem is only going to get worse. So implement this in a single internal C function to replace current open codes C and assembly versions.
The AArch64 assembly versions of thread_rpc() are renamed to thread_rpc_spsr() to indicate that SPSR is passed in the second argument instead of having it open coded internally in the assembly function.
New C wrapper functions are added to preserve the old thread_rpc() interface as needed.
handle_user_mode_panic() is still basing its created SPSR on the saved SPSR from S-EL0, but now PAN bit is copied too.
Fixes: 6fa59c9a70dc ("arm64: Introduce permissive PAN implementation") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|