| 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 ...
|
| b0998d1f | 17-Jul-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "ar/x3_errata" into integration
* changes: fix(cpus): workaround for Cortex-X3 erratum 3213672 fix(cpus): workaround for Cortex-X3 erratum 3827463 fix(cpus): workaroun
Merge changes from topic "ar/x3_errata" into integration
* changes: fix(cpus): workaround for Cortex-X3 erratum 3213672 fix(cpus): workaround for Cortex-X3 erratum 3827463 fix(cpus): workaround for Cortex-X3 erratum 3692984
show more ...
|
| 5a770475 | 17-Jul-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "docs(security): security advisory for CVE-2024-5660" into integration |
| 1e8b5354 | 29-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(build): use a standard rule to run the preprocessor
There are a few, functionally identical, ways to call the preprocessor on a non-C file, depending on the file. They differ in subtle, not
refactor(build): use a standard rule to run the preprocessor
There are a few, functionally identical, ways to call the preprocessor on a non-C file, depending on the file. They differ in subtle, not entirely correct, ways - one is missing a dependency to the makefiles, another generates its .d inline, and the prints are different. That has resulted in platforms reimplementing this functionality, making the build brittle - a change to the overall build system doesn't propagate. So add a MAKE_PRE macro that will make a rule with all the bells and whistles to run the preprocessor on an arbitrary file.
This patch converts the arm platforms' cot_descriptors DTS rules. The files are renamed to fit with the build rule and all extra flags are dropped. Those flags are only necessary for building BL2 c files, which will be passed to the output C file. Only the DTS flags are needed for the preprocessing step, which will be passed automatically.
Change-Id: I3c1cc0ecf93b87d828f868214928c1bc9bcb5758 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 42920aa7 | 10-Jul-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Cortex-X3 erratum 3213672
Cortex-X3 erratum 3213672 is a Cat B erratum that applies to r0p0, r1p0, r1p1 and r1p2. It is still open.
This erratum can be worked around by se
fix(cpus): workaround for Cortex-X3 erratum 3213672
Cortex-X3 erratum 3213672 is a Cat B erratum that applies to r0p0, r1p0, r1p1 and r1p2. It is still open.
This erratum can be worked around by setting CPUACTLR_EL1[36] before enabling icache.
SDEN Documentation: https://developer.arm.com/documentation/SDEN-2055130/latest/
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Ia1c03217f4e1816b4e8754a090cf5bc17546be40
show more ...
|
| 6a464ee7 | 03-Jul-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Cortex-X3 erratum 3827463
Cortex-X3 erratum 3827463 is a Cat B erratum that applies to r0p0, r1p0 and r1p1. It is fixed in r1p2.
This erratum can be avoided by setting CPU
fix(cpus): workaround for Cortex-X3 erratum 3827463
Cortex-X3 erratum 3827463 is a Cat B erratum that applies to r0p0, r1p0 and r1p1. It is fixed in r1p2.
This erratum can be avoided by setting CPUACTLR_EL1[1] prior to enabling MMU. This bit will disable a branch predictor power savings feature. Disabling this power feature results in negligible power movement and no performance impact.
SDEN Documentation: https://developer.arm.com/documentation/SDEN-2055130/latest/
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I1d4a2b9641400d8b9061f7cb32a8312c3995613e
show more ...
|
| f828efe2 | 30-Jun-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Cortex-X3 erratum 3692984
Cortex-X3 erratum 3692984 is a Cat B erratum that applies to r0p0, r1p0, r1p1 and r1p2 and is still open.
The erratum can be avoided by disabling
fix(cpus): workaround for Cortex-X3 erratum 3692984
Cortex-X3 erratum 3692984 is a Cat B erratum that applies to r0p0, r1p0, r1p1 and r1p2 and is still open.
The erratum can be avoided by disabling the affected prefetcher setting CPUACTLR6_EL1[41].
SDEN Documentation: https://developer.arm.com/documentation/SDEN-2055130/latest/
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I054b47d33fd1ff7bde3ae12e8ee3d99e9203965f
show more ...
|
| e0cb13fd | 07-Jul-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
docs(security): security advisory for CVE-2024-5660
Add CVE-2024-5660 security advisory document.
Change-Id: I0d0428061f60b6fe83d03362b27b960f6ddcc6f4 Signed-off-by: Govindraj Raja <govindraj.raja@
docs(security): security advisory for CVE-2024-5660
Add CVE-2024-5660 security advisory document.
Change-Id: I0d0428061f60b6fe83d03362b27b960f6ddcc6f4 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 63696d00 | 09-Jul-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(smccc): introduce TPM Start SMC" 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 ...
|
| 96546b5c | 02-Dec-2024 |
Manish Pandey <manish.pandey2@arm.com> |
feat(smccc): introduce TPM Start SMC
To support TPM start method compatible with pre-FFA configuration (to support SPM_MM) introduce an SMC FID el3 vendor specific range. This SMC is forwarded to SP
feat(smccc): introduce TPM Start SMC
To support TPM start method compatible with pre-FFA configuration (to support SPM_MM) introduce an SMC FID el3 vendor specific range. This SMC is forwarded to SPM_MM module which converts into a MM_COMMUNICATE to interact with Secure partition.
TPM Start method is mentioned in TCG ACPI spec section 3.3.1 https://trustedcomputinggroup.org/wp-content/uploads/TCG-ACPI-Specification-Version-1.4-Revision-15_pub.pdf
As this patch introduces a new sub service, increment minor version of Vendor EL3 service.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I61698018e6bc33c9b389ac905fe158810af21bfa
show more ...
|
| f9274127 | 26-Jun-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(cpus): workaround for Cortex-A710 erratum 1927200" into integration |
| 4c3bd4a4 | 23-Jun-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "docs(interrupt): corrected func name in interrupt-framework-design" into integration |
| 66dec05e | 22-Mar-2025 |
lianghong.liu <lianghong01.liu@horizon.auto> |
docs(interrupt): corrected func name in interrupt-framework-design
This change corrected the function name of determining the type of interrupt.
Change-Id: I88f2464eb16cebc05549267fea5380d0b83feb66
docs(interrupt): corrected func name in interrupt-framework-design
This change corrected the function name of determining the type of interrupt.
Change-Id: I88f2464eb16cebc05549267fea5380d0b83feb66 Signed-off-by: lianghong.liu <lianghong01.liu@horizon.auto>
show more ...
|
| d52ff2b3 | 07-May-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(dsu): support power control and autonomous powerdown config
This patch allows platforms to enable certain DSU settings to ensure memory retention and control over cache power requests. We also
feat(dsu): support power control and autonomous powerdown config
This patch allows platforms to enable certain DSU settings to ensure memory retention and control over cache power requests. We also move the driver out of css into drivers/arm. Platforms can configure the CLUSTERPWRCTLR and CLUSTERPWRDN registers [1] to improve power efficiency.
These registers enable finer-grained control of DSU power state transitions, including powerdown and retention.
IMP_CLUSTERPWRCTLR_EL1 provides: - Functional retention: Allows configuration of the duration of inactivity before the DSU uses CLUSTERPACTIVE to request functional retention.
- Cache power request: These bits are output on CLUSTERPACTIVE[19:16] to indicate to the power controller which cache portions must remain powered.
IMP_CLUSTERPWRDN_EL1 includes: - Powerdown: Triggers full cluster powerdown, including control logic.
- Memory retention: Requests memory retention mode, keeping L3 RAM contents while powering off the rest of the DSU.
The DSU-120 TRM [2] provides the full field definitions, which are used as references in the `dsu_driver_data` structure.
References: [1]: https://developer.arm.com/documentation/100453/latest/ [2]: https://developer.arm.com/documentation/102547/0201/?lang=en
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I2eba808b8f2a27797782a333c65dd092b03208fe
show more ...
|
| d2eba0f8 | 04-Jun-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
docs(maintainers): add myself as code owner for LFA service
Add myself as a maintainer for the LFA service to reflect current ownership and contribution responsibilities.
Change-Id: I11971dfc300eee
docs(maintainers): add myself as code owner for LFA service
Add myself as a maintainer for the LFA service to reflect current ownership and contribution responsibilities.
Change-Id: I11971dfc300eee978c29e91264b5f7f2ee96ee30 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| b30eb04b | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
docs(lfa): update porting guide with LFA platform APIs
Add details about the LFA platform APIs to the porting guide, providing guidance on their usage and integration.
Change-Id: I3888c88ac64934217
docs(lfa): update porting guide with LFA platform APIs
Add details about the LFA platform APIs to the porting guide, providing guidance on their usage and integration.
Change-Id: I3888c88ac649342172332b02b3e685df1e833b97 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| cf48f49f | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): create LFA SMC handler template
As per the specification v1.0[1], added all Live Firmware Activation (LFA) SMCs, including their Function IDs (FIDs) and associated error codes. A dummy ha
feat(lfa): create LFA SMC handler template
As per the specification v1.0[1], added all Live Firmware Activation (LFA) SMCs, including their Function IDs (FIDs) and associated error codes. A dummy handler function has been created as a template. Subsequent patches will implement the handling of these SMCs.
[1]: https://developer.arm.com/documentation/den0147/latest/
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I5d6500dcff35aa4a438cd5f97f349cd57406ddce
show more ...
|
| d8fdff38 | 19-Jun-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "map-summary" into integration
* changes: feat(memmap): add summary command to memory map script refactor(memmap)!: change behavioural flags to commands refactor(memma
Merge changes from topic "map-summary" into integration
* changes: feat(memmap): add summary command to memory map script refactor(memmap)!: change behavioural flags to commands refactor(memmap): fix typing-related issues refactor(memmap): create common image parser interface refactor(memmap): represent image symbols with key-value map refactor(memmap): factor memory regions into their own structure refactor(memmap): apply additional type hints refactor(memmap): check ELF object type rather than flag refactor(memmap): remove unused functionality fix(memmap): ensure terminal width is respected style(memmap): format with Ruff
show more ...
|
| 50d1ce3d | 19-Jun-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes Ia34bc0f4,I0be3773b,I701e357a,Icdbe1992 into integration
* changes: refactor(versal2): guard handoff logic w/ build flag refactor(qemu): guard handoff logic w/ build flag refacto
Merge changes Ia34bc0f4,I0be3773b,I701e357a,Icdbe1992 into integration
* changes: refactor(versal2): guard handoff logic w/ build flag refactor(qemu): guard handoff logic w/ build flag refactor(optee): guard handoff logic w/ build flag feat(handoff): support libtl submodule builds
show more ...
|
| 7554f1df | 17-Jun-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes I1fae91a5,I54793492,I703f0e6e into integration
* changes: fix(cpus): workaround for Cortex-A710 erratum 1917258 fix(cpus): workaround for Cortex-A710 erratum 1916945 fix(cpus): w
Merge changes I1fae91a5,I54793492,I703f0e6e into integration
* changes: fix(cpus): workaround for Cortex-A710 erratum 1917258 fix(cpus): workaround for Cortex-A710 erratum 1916945 fix(cpus): workaround for Cortex-A710 erratum 1901946
show more ...
|
| cb2702c4 | 09-Jun-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A710 erratum 1927200
Cortex-A710 erratum 1927200 is a Cat B erratum that applies to revisions r0p0 and r1p0 and is fixed in r2p0.
The fix is to insert DMB ST before
fix(cpus): workaround for Cortex-A710 erratum 1927200
Cortex-A710 erratum 1927200 is a Cat B erratum that applies to revisions r0p0 and r1p0 and is fixed in r2p0.
The fix is to insert DMB ST before acquire atomic instructions without release semantics via instruction patching.
SDEN documentation: https://developer.arm.com/documentation/SDEN1775101
Change-Id: I53c4aa17c1c2dc85b68f17d58f93bb1ee6b3d488 Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 64c83420 | 09-Jun-2025 |
Manish Pandey <manish.pandey2@arm.com> |
docs(fvp): add GICv5 build instructions and limitations
Add documentation for enabling GICv5 support in the FVP platform, including required build options and guidance on usage. Also document curren
docs(fvp): add GICv5 build instructions and limitations
Add documentation for enabling GICv5 support in the FVP platform, including required build options and guidance on usage. Also document current limitations and known constraints.
Introduce build-time checks to ensure incompatible configurations (e.g., with SPMD or RMMD) fail early with a clear error message.
Initial GICv5 support in FVP is intended to facilitate early Linux kernel bring-up and to assist with upstream kernel patch development.
Note: This patch is a temporary measure and should be reverted once proper and complete GICv5 support is upstreamed in TF-A.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I2af839aec600040dfde75d74d02eff5a57ecda4e
show more ...
|
| e2e90fa1 | 13-Feb-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(fvp): add GICv5 support
Factors out GICv3 specific code and replace it with GICv5. This can be selected with FVP_USE_GIC_DRIVER=FVP_GICV5. Specifically, the FCONF logic does not apply to GICv5
feat(fvp): add GICv5 support
Factors out GICv3 specific code and replace it with GICv5. This can be selected with FVP_USE_GIC_DRIVER=FVP_GICV5. Specifically, the FCONF logic does not apply to GICv5 as the bindings are completely different.
This patch does not include a device tree. This will be added at a later date.
Change-Id: Ifd0c7b4e0bc2ea1e53a6779ab4c50c4aec39dafb Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 8cef63d6 | 07-Jan-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(gicv5): add support for building with gicv5
The Generic Interrupt Controller v5 (GICv5) is the next generation of Arm interrupt controllers. It is a clean slate design and has native support fo
feat(gicv5): add support for building with gicv5
The Generic Interrupt Controller v5 (GICv5) is the next generation of Arm interrupt controllers. It is a clean slate design and has native support for the latest Armv9 features. As such it is entirely backwards incompatible with GICv3/v4.
This patch adds the necessary boilerplate to select a build with GICv5. The GIC has always had two parts. BL31 deals directly with the CPU interface while platform code is responsible for managing the IRI. In v5 this split is formalised and the CPU interface, FEAT_GCIE, may be implemented on its own. So reflect this split in our code with ENABLE_FEAT_GCIE which only affects BL31 and the GICv5 IRI lies in the generic GIC driver.
No actual functionality yet.
Change-Id: I97a0c3ba708877c213e50e7ef148e3412aa2af90 Co-developed-by: Achin Gupta <achin.gupta@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|