| #
156943e1 |
| 24-Sep-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "feat(cpufeat): enable FEAT_CPA2 for EL3" into integration
|
| #
a1032beb |
| 20-Aug-2025 |
John Powell <john.powell@arm.com> |
feat(cpufeat): enable FEAT_CPA2 for EL3
FEAT_CPA2 enables checked pointer arithmetic, which in the event of an arithmetic overflow in pointer generation will result in a non-canonical pointer being
feat(cpufeat): enable FEAT_CPA2 for EL3
FEAT_CPA2 enables checked pointer arithmetic, which in the event of an arithmetic overflow in pointer generation will result in a non-canonical pointer being generated and subsequent address fault.
Note that FEAT_CPA is a trivial implementation that exists in some hardware purely so it can run CPA2-enabled instructions without crashing but they don't actually have checked arithmetic, so FEAT_CPA is not explicitly enabled in TF-A.
Change-Id: I6d2ca7a7e4b986bb9e917aa8baf8091a271c168b Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| #
982ee634 |
| 04-Sep-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "xl/separate-bl2" into integration
* changes: feat(fwu): documentation for BL2 separation feat(fwu): separate bl2 image from rest of the FIP feat(fwu): create flag for
Merge changes from topic "xl/separate-bl2" into integration
* changes: feat(fwu): documentation for BL2 separation feat(fwu): separate bl2 image from rest of the FIP feat(fwu): create flag for BL2 separation
show more ...
|
| #
7924b69f |
| 03-Sep-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(arm): unify Linux kernel as BL33 handling" into integration
|
| #
2f5fd826 |
| 08-Oct-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(arm): unify Linux kernel as BL33 handling
Streamlines and unifies how Arm platforms pass arguments to the Linux kernel when it is loaded as BL33. It replaces the FVP specific macro `FVP_HW_CONF
feat(arm): unify Linux kernel as BL33 handling
Streamlines and unifies how Arm platforms pass arguments to the Linux kernel when it is loaded as BL33. It replaces the FVP specific macro `FVP_HW_CONFIG_ADDR` with a common macro `ARM_HW_CONFIG_ADDR` for accessing the device tree blob base address.
For FVP the DT address is set to use `ARM_PRELOADED_DTB_BASE` if provided, falling back to a default address otherwise.
This provides a consistent mechanism for Arm platforms to define and override the DTB base address used during kernel handoff. It reduces the chance of misconfiguration, and simplifies platform integration.
Change-Id: Ib668dbb1de9d42cf41c0b0ee9a316f054891752a Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
d57362bd |
| 26-Jun-2025 |
Xialin Liu <xialin.liu@arm.com> |
feat(fwu): separate bl2 image from rest of the FIP
Create a separate partition for BL2 image in the GPT. Modify the makefile to package BL2 image and its certificates into a different FIP image.
Ch
feat(fwu): separate bl2 image from rest of the FIP
Create a separate partition for BL2 image in the GPT. Modify the makefile to package BL2 image and its certificates into a different FIP image.
Change-Id: I950883ea0c393a2a063ad9e51bb963cbac742705 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| #
19e4312c |
| 02-Sep-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(cpufeat): enable FEAT_MPAM_PE_BW_CTRL support" into integration
|
| #
c42aefd3 |
| 12-Aug-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(cpufeat): enable FEAT_MPAM_PE_BW_CTRL support
Implement support for FEAT_MPAM_PE_BW_CTRL, allowing lower Exception Levels to access MPAM_PE_BW_CTRL control registers by disabling their traps to
feat(cpufeat): enable FEAT_MPAM_PE_BW_CTRL support
Implement support for FEAT_MPAM_PE_BW_CTRL, allowing lower Exception Levels to access MPAM_PE_BW_CTRL control registers by disabling their traps to EL3.
When INIT_UNUSED_NS_EL2=1, configure MPAMBW2_EL2 in EL3 so that MPAM_PE_BW_CTRL accesses from EL0/EL1 do not trap to EL2.
At this stage, PE-side MPAM bandwidth controls remain disabled in EL3.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I8e359b0eb912cff3bdda109b21727a627cac3a7e
show more ...
|
| #
5ce4ee1a |
| 24-Jul-2025 |
Xialin Liu <xialin.liu@arm.com> |
feat(fwu): create flag for BL2 separation
Adding a flag for BL2 separation in common Makefile, for the usage of non FVP platform
Change-Id: I45ecb6833cdbc4873ffe460fd448814d81d6fa4d Signed-off-by:
feat(fwu): create flag for BL2 separation
Adding a flag for BL2 separation in common Makefile, for the usage of non FVP platform
Change-Id: I45ecb6833cdbc4873ffe460fd448814d81d6fa4d Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| #
1ba0d330 |
| 08-Aug-2025 |
Chris Kay <chris.kay@arm.com> |
Merge "fix(docs): obey the build directory" into integration
|
| #
725a80d7 |
| 31-Jul-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(docs): obey the build directory
Like everything else, BUILD_BASE should be the canonical place to put all output of a build.
Change-Id: Ibab9992550bb70fc0b71453ada37cdc94858f6fc Signed-off-by:
fix(docs): obey the build directory
Like everything else, BUILD_BASE should be the canonical place to put all output of a build.
Change-Id: Ibab9992550bb70fc0b71453ada37cdc94858f6fc Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
abcf135e |
| 04-Aug-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "feat(common): add support for kernel DT handoff convention" into integration
|
| #
291e493d |
| 04-Jul-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(common): add support for kernel DT handoff convention
TF-A currently supports multiple DT handoff conventions:
1. Firmware Handoff (FH): DT passed in x0, with x1–x3 carrying additional data
feat(common): add support for kernel DT handoff convention
TF-A currently supports multiple DT handoff conventions:
1. Firmware Handoff (FH): DT passed in x0, with x1–x3 carrying additional data. 2. Kernel-compatible handoff (ARM_LINUX_KERNEL_AS_BL33): DT passed in x0, x1–x3 zeroed. 3. Legacy TF-A convention: DT passed in x1, with x0 used for MPIDR or NT_FW_CONFIG.
After discussions with folks in EDK2 and U-Boot, it's clear that there is no strict requirement for placing the DT in x1. Both projects support x0 for Arm platforms. To standardize behavior and support firmware handoff migration, this patch introduces USE_KERNEL_DT_CONVENTION as a configurable build flag. When enabled, the DT will be passed in x0 for BL33.
This aligns TF-A’s behavior with Linux boot expectations and simplifies integration across bootloaders.
Change-Id: I6bd7154fe07cb2e16e25c058f7cf862f9ae007e7 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
31e6ce7e |
| 31-Jul-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "build: fix incorrect `memory summary` command" into integration
|
| #
4aa3f18d |
| 01-Jul-2025 |
Chris Kay <chris.kay@arm.com> |
build: fix incorrect `memory summary` command
Change-Id: I2bce33a373ba44bddeccf31f0ba55a0ffe76711f Signed-off-by: Chris Kay <chris.kay@arm.com>
|
| #
35b2bbf4 |
| 28-Jul-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "bk/pabandon_cleanup" into integration
* changes: feat(cpus): add pabandon support to the Alto cpu feat(psci): optimise clock init on a pabandon feat(psci): check that
Merge changes from topic "bk/pabandon_cleanup" into integration
* changes: feat(cpus): add pabandon support to the Alto cpu feat(psci): optimise clock init on a pabandon feat(psci): check that CPUs handled a pabandon feat(psci): make pabandon support generic refactor(psci): unify coherency exit between AArch64 and AArch32 refactor(psci): absorb psci_power_down_wfi() into common code refactor(platforms): remove usage of psci_power_down_wfi fix(cm): disable SPE/TRBE correctly
show more ...
|
| #
04c39e46 |
| 24-Mar-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(psci): make pabandon support generic
Support for aborted powerdowns does not require much dedicated code. Rather, it is largely a matter of orchestrating things to happen in the right order.
T
feat(psci): make pabandon support generic
Support for aborted powerdowns does not require much dedicated code. Rather, it is largely a matter of orchestrating things to happen in the right order.
The only exception to this are older secure world dispatchers, which assume that a CPU_SUSPEND call will be terminal and therefore can clobber context. This was patched over in common code and hidden behind a flag. This patch moves this to the dispatchers themselves.
Dispatchers that don't register svc_suspend{_finish} are unaffected. Those that do must save the NS context before clobbering it and restoring in only in case of a pabandon. Due to this operation being non-trivial, this patch makes the assumption that these dispatchers will only be present on hardware that does not support pabandon and therefore does not add any contexting for them. In case this assumption ever changes, asserts are added that should alert us of this change.
Change-Id: I94a907515b782b4d2136c0d274246cfe1d567c0e Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
81445dd1 |
| 22-Jul-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes I801cea04,I4abb6c9d,I3c1cc0ec,I1b6f69ad,Ic4086a1f into integration
* changes: refactor(build): pass TF_CFLAGS to the assembler refactor(build): absorb CFLAGS into TF_CFLAGS refac
Merge changes I801cea04,I4abb6c9d,I3c1cc0ec,I1b6f69ad,Ic4086a1f into integration
* changes: refactor(build): pass TF_CFLAGS to the assembler refactor(build): absorb CFLAGS into TF_CFLAGS refactor(build): use a standard rule to run the preprocessor refactor(build): place all cflags setting in one place refactor(build): simplify ENABLE_LTO checking
show more ...
|
| #
3df79ae7 |
| 09-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(build): place all cflags setting in one place
The top-level Makefile has to come up with a list of flags to pass to the compiler. It has to do so while considering a variety of options and
refactor(build): place all cflags setting in one place
The top-level Makefile has to come up with a list of flags to pass to the compiler. It has to do so while considering a variety of options and constraints. This has generally done in the most convenient place in the file. However, it causes problems with evaluation - options may be set after they are used, there may be platform dependencies, DEFINES, etc. As a result flags must be lazily evaluated and they lack any cohesive design.
To enable a solution to this, extract all CFLAGS/LDFLAGS/ASFLAGS configuration to a new file. Reorder rules slightly to put related rules closer together and call the entire thing as late as possible - after platform.mk and after the DEFINES are known.
There is a small number of libraries that set flags in their own sub makefiles. As these contain the entire feature, do not move their flags to keep them self-contained. This is okay as these makefile will be evaluated before the cflags.
Change-Id: I1b6f69adbf885396632949966b77a5710d1c851d Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
dccfb7c1 |
| 14-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(build): simplify ENABLE_LTO checking
We do not support LTO with AArch32. The standard way to enforce this is by having a rule to fail the build when this happens. There are no AArch32 platf
refactor(build): simplify ENABLE_LTO checking
We do not support LTO with AArch32. The standard way to enforce this is by having a rule to fail the build when this happens. There are no AArch32 platforms which (incorrectly) try to enable LTO, so add this rule. The benefit is that we no longer have to check the ENABLE_LTO with ARCH whenever it is used.
Change-Id: Ic4086a1f5122269bda1d75bd4474b98fde35b5af Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
7118ad9d |
| 09-Jul-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(cpufeat): add support for FEAT_FGWTE3" into integration
|
| #
4274b526 |
| 23-Jun-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(cpufeat): add support for FEAT_FGWTE3
Enable write traps for key EL3 system registers as per FEAT_FGWTE3, ensuring their values remain unchanged after boot.
Excluded Registers: MDCR_EL3 and MP
feat(cpufeat): add support for FEAT_FGWTE3
Enable write traps for key EL3 system registers as per FEAT_FGWTE3, ensuring their values remain unchanged after boot.
Excluded Registers: MDCR_EL3 and MPAM3_EL3: Not trapped as they are part of the EL3 context. SCTLR_EL3: Not trapped since it is overwritten during powerdown sequence(Included when HW_ASSISTED_COHERENCY=1)
TPIDR_EL3: Excluded due to its use in crash reporting(It is included when CRASH_REPORTING=0)
Reference: https://developer.arm.com/documentation/ddi0601/2025-06/AArch64-Registers/FGWTE3-EL3--Fine-Grained-Write-Traps-EL3
Change-Id: Idcb32aaac7d65a0b0e5c90571af00e01a4e9edb1 Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
show more ...
|
| #
ae072e0c |
| 09-Jul-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge "fix(build): add DTB dependency for certificate generation" into integration
|
| #
f02135a3 |
| 27-Jun-2025 |
Fabien Lehoussel <fabien.lehoussel@smile.fr> |
fix(build): add DTB dependency for certificate generation
When building ARM Trusted Firmware with Trusted Board Boot enabled (TRUSTED_BOARD_BOOT=1 and GENERATE_COT=1) using parallel builds (make -j)
fix(build): add DTB dependency for certificate generation
When building ARM Trusted Firmware with Trusted Board Boot enabled (TRUSTED_BOARD_BOOT=1 and GENERATE_COT=1) using parallel builds (make -j), the build fails with a dependency error where certificate generation starts before Device Tree Blob (DTB) files are built, even though certificates depend on DTB files.
Change-Id: I51bfe6c99406c77addb8f680351cbae6cf10edc6 Signed-off-by: Fabien Lehoussel <fabien.lehoussel@smile.fr>
show more ...
|
| #
69520877 |
| 07-Jul-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "bk/multibuild" into integration
* changes: fix(lx2160a): put cert_create_tbbr.mk in the standard location feat(build): put crttool in the build directory feat(build):
Merge changes from topic "bk/multibuild" into integration
* changes: fix(lx2160a): put cert_create_tbbr.mk in the standard location feat(build): put crttool in the build directory feat(build): put enctool in the build directory feat(build): put fiptool in the build directory build(marvell): avoid using recursive expansion for BLE_INCLUDES
show more ...
|