| b9ecf645 | 01-Dec-2023 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(fvp): reduce max size of HW_CONFIG to 16KB
HW_CONFIG is the hardware description consumed primarly by the Linux kernel, and for the FVP platform, TF-A runtime firmware (BL31). Due to both n
refactor(fvp): reduce max size of HW_CONFIG to 16KB
HW_CONFIG is the hardware description consumed primarly by the Linux kernel, and for the FVP platform, TF-A runtime firmware (BL31). Due to both needing it, two copies of this file are made in Trusted DRAM and SRAM. The copy in Trusted DRAM is a workaround stemming from memory constraints in SRAM. We temporarily map the range of memory in Trusted DRAM into BL31 to allow it to consume the configuration. In principle, however, BL31 execution should be limited to SRAM, hence reduce the maximum size of the HW_CONFIG to 16KB in order to accommodate it in SRAM. This is possible since in practice, the HW_CONFIG on FVP is only about 11KB.
Change-Id: Idb5dc0637b402562b7177a2b4e2464c4f3f67da7 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 222f885d | 13-Mar-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
feat(locks): add bitlock
This patch adds 'bitlock_t' type and bit_lock() and bit_unlock() to support locking/release functionality based on individual bit position. These functions use atomic bit se
feat(locks): add bitlock
This patch adds 'bitlock_t' type and bit_lock() and bit_unlock() to support locking/release functionality based on individual bit position. These functions use atomic bit set and clear instructions which require FEAT_LSE mandatory from Armv8.1.
Change-Id: I3eb0f29bbccefe6c0f69061aa701187a6364df0c Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| 64cf9deb | 20-Mar-2024 |
Jit Loon Lim <jit.loon.lim@intel.com> |
fix(intel): f2sdram bridge quick write thru failed
This patch is to fix the f2sdram bridge quick write thru failing by removing the clear bit for sidebandmgr flagout register.
Change-Id: Ib03498fbb
fix(intel): f2sdram bridge quick write thru failed
This patch is to fix the f2sdram bridge quick write thru failing by removing the clear bit for sidebandmgr flagout register.
Change-Id: Ib03498fbb2d91e9fd85f6315091ff72cbe3f394d Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
show more ...
|
| eef240cf | 12-Apr-2024 |
Jacob Kroon <jacob.kroon@gmail.com> |
fix(gicv2): fix SGIR_NSATT bitshift
See https://documentation-service.arm.com/static/5f8ff196f86e16515cdbf969?token=
Fixes: dcb31ff79096fc88b45df8068e5de83b93f833ed
Signed-off-by: Jacob Kroon <jac
fix(gicv2): fix SGIR_NSATT bitshift
See https://documentation-service.arm.com/static/5f8ff196f86e16515cdbf969?token=
Fixes: dcb31ff79096fc88b45df8068e5de83b93f833ed
Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I79ef17c4538cc3e2d65fedd4dfc2eacf55167bf6
show more ...
|
| e639ad23 | 08-Apr-2024 |
Donald Chan <donachan@tesla.com> |
fix(cert-create): use a salt length equal to digest length for RSA-PSS
Currently when RSA-PSS signing is invoked, a salt length of 32 bytes is assumed. This works well when SHA-256 is the digest alg
fix(cert-create): use a salt length equal to digest length for RSA-PSS
Currently when RSA-PSS signing is invoked, a salt length of 32 bytes is assumed. This works well when SHA-256 is the digest algorithm, but the standard industry practice is that the salt length should follow the digest length (e.g. 48/64 bytes for SHA-384/SHA-512).
Various cloud services' key management services (KMS) offering have such restrictions in place, so if someone wants to integrate cert_create against these services for signing key/content certs, they will have problem with integration.
Furthermore, JWS (RFC7518) defined these specific combinations as valid specs and other combinations are not supported:
- PS256: RSASSA-PSS using SHA-256 and MGF1 with SHA-256 - PS384: RSASSA-PSS using SHA-384 and MGF1 with SHA-384 - PS512: RSASSA-PSS using SHA-512 and MGF1 with SHA-512
Change-Id: Iafc7c60ccb36f4681053dbeb4147bac01b9d724d Signed-off-by: Donald Chan <donachan@tesla.com>
show more ...
|
| 0cf4fda9 | 12-Apr-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(handoff): correct representation of tag_id" into integration |
| 9bbc989f | 12-Apr-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge "feat(rme): build TF-A with ENABLE_RME for Armv9.2" into integration |
| 0c038fe5 | 12-Apr-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(cm): remove ENABLE_FEAT_MTE usage" into integration |
| 71c42e98 | 12-Apr-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(build): wrap toolchain paths in double quotes" into integration |
| df960bcc | 11-Apr-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(arm): replace hard-coded HW_CONFIG DT size
Ensure consistency across all Arm platforms, even those that may already have an existing macro for this purpose.
Change-Id: I07cd4cfcacf2c991717
refactor(arm): replace hard-coded HW_CONFIG DT size
Ensure consistency across all Arm platforms, even those that may already have an existing macro for this purpose.
Change-Id: I07cd4cfcacf2c991717f4c115cb0babd2c614d6f Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| a796d5aa | 11-Apr-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(cm): remove ENABLE_FEAT_MTE usage
commit@c282384dbb45b6185b4aba14efebbad110d18e49 removed ENABLE_FEAT_MTE but missed its usage in context structure declaration path.
All mte regs that are curre
fix(cm): remove ENABLE_FEAT_MTE usage
commit@c282384dbb45b6185b4aba14efebbad110d18e49 removed ENABLE_FEAT_MTE but missed its usage in context structure declaration path.
All mte regs that are currently context saved/restored are needed only when FEAT_MTE2 is enabled, so move to usage of FEAT_MTE2 and remove FEAT_MTE usage
Change-Id: I6b4417485fa6b7f52a31045562600945e48e81b7 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 4731c00b | 09-Apr-2024 |
Chris Kay <chris.kay@arm.com> |
fix(build): wrap toolchain paths in double quotes
Fix issue with Windows paths containing spaces. Recent toolchain refactoring (cc277de) caused a regression in the Windows build. Ensure toolchain pa
fix(build): wrap toolchain paths in double quotes
Fix issue with Windows paths containing spaces. Recent toolchain refactoring (cc277de) caused a regression in the Windows build. Ensure toolchain path utilities wrap paths in double quoted strings.
Change-Id: I7a136e459d85cff1e9851aedf0a5272a841df09c Signed-off-by: Harrison Mutai <harrison.mutai@arm.com> Signed-off-by: Chris Kay <chris.kay@arm.com> Co-authored-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 64bd9551 | 11-Apr-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "docs: clarify build environment prerequisites" into integration |
| d701b48e | 06-Feb-2024 |
Chris Kay <chris.kay@arm.com> |
fix(bl1): add missing `__RW_{START,END}__` symbols
These symbols are missing from BL1, which causes undefined reference errors when linking with LTO enabled.
Change-Id: Id3eda0550c957f5ef0535f0de4f
fix(bl1): add missing `__RW_{START,END}__` symbols
These symbols are missing from BL1, which causes undefined reference errors when linking with LTO enabled.
Change-Id: Id3eda0550c957f5ef0535f0de4ff2ad87c93b82a Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 6d8546f9 | 06-Feb-2024 |
Chris Kay <chris.kay@arm.com> |
fix(fvp): don't check MPIDRs with the power controller in BL1
The core platform layer requires an implementation for the `plat_core_pos_by_mpidr` function. This implementation is currently missing i
fix(fvp): don't check MPIDRs with the power controller in BL1
The core platform layer requires an implementation for the `plat_core_pos_by_mpidr` function. This implementation is currently missing in BL1, which causes undefined reference errors when linking with LTO.
The FVP platform source file providing this implementation is the `fvp_topology.c` file, so this change adds it to the BL1 sources for the FVP.
However, the implementation of this function reaches out to the FVP power controller driver - `fvp_pm.c` - to validate the MPIDR, and this file has at least two other dependencies:
- `spe.c` - `arm_gicvX.c`
Pulling these in correctly is no simple job, so I am simply removing the power controller validation in BL1 builds.
Change-Id: I56ddf1d799f5fe7f5b0fb2b046f7fe8232b07b27 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 3b48ca17 | 06-Feb-2024 |
Chris Kay <chris.kay@arm.com> |
fix(arm): only expose `arm_bl2_dyn_cfg_init` to BL2
The `arm_bl2_dyn_cfg_init` function is intended exclusively for BL2 - it should not be compiled for any other bootloader image. This change hides
fix(arm): only expose `arm_bl2_dyn_cfg_init` to BL2
The `arm_bl2_dyn_cfg_init` function is intended exclusively for BL2 - it should not be compiled for any other bootloader image. This change hides it for all but BL2.
Change-Id: I9fa95094dcc30f9fa4cc7bc5b3119ceae82df1ea Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| a6b3643c | 06-Feb-2024 |
Chris Kay <chris.kay@arm.com> |
fix(cm): hide `cm_init_context_by_index` from BL1
BL1 requires the context management library but does not use or implement `cm_init_context_by_index`. This change ensures that is not compiled into
fix(cm): hide `cm_init_context_by_index` from BL1
BL1 requires the context management library but does not use or implement `cm_init_context_by_index`. This change ensures that is not compiled into BL1, as linking with LTO enabled causes an undefined reference for this function.
Change-Id: I4a4602843bd75bc4f47b3e0c4c5a6efce1514ef6 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| e40b563e | 06-Feb-2024 |
Chris Kay <chris.kay@arm.com> |
fix(bl1): add missing spinlock dependency
The spinlock functions from `spinlock.S` are used by `errata_report.c`, which is pulled into BL1. In a normal build it appears that this function call under
fix(bl1): add missing spinlock dependency
The spinlock functions from `spinlock.S` are used by `errata_report.c`, which is pulled into BL1. In a normal build it appears that this function call undergoes dead code elimination so the link error is not reported, but when compiled with LTO enabled the linker reports an undefined reference.
Change-Id: Id22ffa8c0c8d3ca4b4cd46f0f4aefa53907c8de5 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 10134e35 | 10-Apr-2024 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Cortex-A715 erratum 2728106
Cortex-A715 erratum 2728106 is a Cat B(rare) erratum that is present in revision r0p0, r1p0 and r1p1. It is fixed in r1p2.
The workaround is to
fix(cpus): workaround for Cortex-A715 erratum 2728106
Cortex-A715 erratum 2728106 is a Cat B(rare) erratum that is present in revision r0p0, r1p0 and r1p1. It is fixed in r1p2.
The workaround is to execute an implementation specific sequence in the CPU.
SDEN documentation: https://developer.arm.com/documentation/SDEN2148827/latest
Change-Id: Ic825f9942e7eb13893fdbb44a2090b897758cbc4 Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
show more ...
|
| a6cb061b | 10-Apr-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(cc): code coverage optimization fix" into integration |
| bbe901f3 | 10-Apr-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "feat(build): redirect stdin to nul during toolchain detection" into integration |
| 90801842 | 05-Apr-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
docs(build): update GCC to 13.2.Rel1 version
Updating toolchain to the latest production release version 13.2.Rel1 publicly available on: https://developer.arm.com/downloads/-/arm-gnu-toolchain-down
docs(build): update GCC to 13.2.Rel1 version
Updating toolchain to the latest production release version 13.2.Rel1 publicly available on: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
We build TF-A in CI using x86_64 Linux hosted cross toolchains: --------------------------------------------------------------- * AArch32 bare-metal target (arm-none-eabi) * AArch64 bare-metal target (aarch64-none-elf)
Change-Id: I9b60728bcb1a48508ccd4fcbe0114b3029509a64 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| ab4d5dfe | 09-Apr-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
docs: clarify build environment prerequisites
Our build system extensively uses syntax and tools that are not natively supported by Windows shells (i.e., CMD.exe and Powershell). This dependency nec
docs: clarify build environment prerequisites
Our build system extensively uses syntax and tools that are not natively supported by Windows shells (i.e., CMD.exe and Powershell). This dependency necessitates a UNIX-compatible build environment. This commit updates the prerequisites section in our documentation to reflect this.
Change-Id: Ia7e02d7a335e6c88bbaa0394650f1313cdfd6e40 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| e494afc0 | 05-Mar-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): add ddr-fw parameter for fiptool
When generating fiptool for STM32MP2, a new parameter is added to put DDR firmware inside the FIP.
To avoid duplicating fiptool platform files, move
feat(stm32mp2): add ddr-fw parameter for fiptool
When generating fiptool for STM32MP2, a new parameter is added to put DDR firmware inside the FIP.
To avoid duplicating fiptool platform files, move tools/fiptool/plat_fiptool/st/stm32mp1 files in their parent directory and move plat_def_fip_uuid.h in in plat/st/common/include.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I1dd796847869e2bfb6ee8c2bcef25c595fa5197a
show more ...
|
| b9014f85 | 12-Mar-2024 |
Ahmad Fatoum <a.fatoum@pengutronix.de> |
feat(build): redirect stdin to nul during toolchain detection
It's common for Makefiles to use variables like CC, AS or LD instead of hardcoding the name of binaries. These can be defined by the use
feat(build): redirect stdin to nul during toolchain detection
It's common for Makefiles to use variables like CC, AS or LD instead of hardcoding the name of binaries. These can be defined by the user to use a differnet toolchain or even as a crutch to enable cross-compilation.
In TF-A, this is not needed, as support for cross-compilation is baked in via the CROSS_COMPILE option. TF-A still defined AS for its internal use, but unlike most other projects, the default was setting it to the C compiler. Overriding it wasn't possible from the environment though, only as a make argument, so this didn't cause much issue.
With commit cc277de81692 ("build: refactor toolchain detection"), AS can now also be set from the environment. This breaks any scripts that supply make with a cross environment that sets AS to an assembler.
Doing so was without effect before, but now leads to a quite ugly failure mode: As TF-A now tries to detect the toolchain, it will call AS with the option -v, which for GNU as(1) prints the version, but doesn't exit.
Thus, as(1) will continue waiting on stdin input and the build hangs without much indication what's wrong.
Avoid this failure mode by ensuring any tool that attempts to read stdin during toolchain detection will immediately get EOF and exit, leading to an error message later on instead of the build hang.
Change-Id: I79a84961f5a69250292caa7f9e879a65be4bd9f2 Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
show more ...
|