No description
Find a file
Govindraj Raja ac9f4b4da6 fix(cpus): remove errata setting PF_MODE to conservative
The erratum titled “Disabling of data prefetcher with outstanding
prefetch TLB miss might cause a deadlock” should not be handled within
TF-A. The current workaround attempts to follow option 2 but
misapplies it. Specifically, it statically sets PF_MODE to
conservative, which is not the recommended approach. According to the
erratum documentation, PF_MODE should be configured in conservative
mode only when we disable data prefetcher however this is not done
in TF-A and thus the workaround is not needed in TF-A.

The static setting of PF_MODE in TF-A does not correctly address the
erratum and may introduce unnecessary performance degradation on
platforms that adopt it without fully understanding its implications.

To prevent incorrect or unintended use, the current implementation of
this erratum workaround should be removed from TF-A and not adopted by
platforms.

List of Impacted CPU's with Errata Numbers and reference to SDEN -

Cortex-A78  - 2132060 - https://developer.arm.com/documentation/SDEN1401784/latest
Cortex-A78C - 2132064 - https://developer.arm.com/documentation/SDEN-2004089/latest
Cortex-A710 - 2058056 - https://developer.arm.com/documentation/SDEN-1775101/latest
Cortex-X2   - 2058056 - https://developer.arm.com/documentation/SDEN-1775100/latest
Cortex-X3   - 2070301 - https://developer.arm.com/documentation/SDEN2055130/latest
Neoverse-N2 - 2138953 - https://developer.arm.com/documentation/SDEN-1982442/latest
Neoverse-V1 - 2108267 - https://developer.arm.com/documentation/SDEN-1401781/latest
Neoverse-V2 - 2331132 - https://developer.arm.com/documentation/SDEN-2332927/latest

Change-Id: Icf4048508ae070b2df073cc46c63be058b2779df
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2025-03-31 01:00:27 +01:00
.github Merge "refactor(memmap): migrate to Poetry" into integration 2025-03-03 14:25:35 +01:00
.husky fix(deps): remove deprecated husky commands 2025-03-11 18:57:00 +01:00
bl1 refactor(cpus): register DSU errata with the errata framework's wrappers 2025-02-20 17:28:17 +00:00
bl2 fix(aarch32): avoid using r12 to store boot params 2025-03-17 16:58:48 +00:00
bl2u build: remove MAKE_BUILD_STRINGS function 2024-04-29 12:47:01 +00:00
bl31 fix(bl31): add const qualifier 2025-03-09 22:02:53 +05:30
bl32 feat(bl32): enable r3 usage for boot args 2025-03-17 16:58:51 +00:00
common fix(common): add missing curly braces 2025-03-07 13:22:18 +01:00
docs fix(cpus): remove errata setting PF_MODE to conservative 2025-03-31 01:00:27 +01:00
drivers Merge changes from topic "xlnx_fix_gen_datatype_cast" into integration 2025-03-27 15:53:57 +01:00
fdts feat(stm32mp15-fdts): add SP_MIN versions of DT files 2025-02-26 20:25:25 +01:00
include fix(cpus): remove errata setting PF_MODE to conservative 2025-03-31 01:00:27 +01:00
lib fix(cpus): remove errata setting PF_MODE to conservative 2025-03-31 01:00:27 +01:00
licenses feat(dice): add typedefs from the Open DICE repo 2024-03-06 15:44:55 +01:00
make_helpers feat(tpm): add tpm drivers and framework 2025-03-18 19:57:22 +01:00
plat fix(cpus): remove errata setting PF_MODE to conservative 2025-03-31 01:00:27 +01:00
services Merge "fix(rme): do not trap access to MPAM system registers in Realm mode" into integration 2025-03-27 06:25:30 +01:00
tools fix(nxp-tools): fix create_pbl buildroot build 2025-03-13 01:25:30 +01:00
.checkpatch.conf
.commitlintrc.js build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
.ctags feat(build): add ctags recipes for indexing assembly files 2024-08-29 15:58:24 +01:00
.cz-adapter.cjs build(npm): fix Commitizen ES Module errors 2024-03-07 16:13:39 +00:00
.cz.json build(npm): fix Commitizen ES Module errors 2024-03-07 16:13:39 +00:00
.editorconfig chore(commitlint): tell editors commit line lengths are 72 characters 2024-10-16 13:44:51 +01:00
.gitignore
.gitreview
.nvmrc build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
.readthedocs.yaml refactor(memmap): migrate to Poetry 2025-02-27 15:32:05 +00:00
.versionrc.cjs build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
changelog.yaml Merge changes from topic "hm/handoff-aarch32" into integration 2025-03-24 17:29:57 +01:00
dco.txt
license.rst
Makefile fix(rme): do not trap access to MPAM system registers in Realm mode 2025-03-26 17:09:57 +00:00
package-lock.json build(dev-deps): bump the dev-deps group across 1 directory with 5 updates 2025-03-10 16:45:52 +01:00
package.json docs(changelog): changelog for v2.12 release 2024-11-19 18:08:58 -06:00
poetry.lock build(dev-deps): bump the dev-deps group across 3 directories with 9 updates 2025-03-10 11:02:20 +01:00
pyproject.toml chore: add fdt dependencies to poetry 2025-03-04 14:38:03 -06:00
readme.rst

Trusted Firmware-A
==================

Trusted Firmware-A (TF-A) is a reference implementation of secure world software
for `Arm A-Profile architectures`_ (Armv8-A and Armv7-A), including an Exception
Level 3 (EL3) `Secure Monitor`_. It provides a suitable starting point for
productization of secure world boot and runtime firmware, in either the AArch32
or AArch64 execution states.

TF-A implements Arm interface standards, including:

-  `Power State Coordination Interface (PSCI)`_
-  `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
-  `SMC Calling Convention`_
-  `System Control and Management Interface (SCMI)`_
-  `Software Delegated Exception Interface (SDEI)`_

The code is designed to be portable and reusable across hardware platforms and
software models that are based on the Armv8-A and Armv7-A architectures.

In collaboration with interested parties, we will continue to enhance TF-A
with reference implementations of Arm standards to benefit developers working
with Armv7-A and Armv8-A TrustZone technology.

Users are encouraged to do their own security validation, including penetration
testing, on any secure world code derived from TF-A.

More Info and Documentation
---------------------------

To find out more about Trusted Firmware-A, please `view the full documentation`_
that is available through `trustedfirmware.org`_.

--------------

*Copyright (c) 2013-2019, Arm Limited and Contributors. All rights reserved.*

.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
.. _Power State Coordination Interface (PSCI): PSCI_
.. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
.. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest
.. _SMC Calling Convention: http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
.. _System Control and Management Interface (SCMI): SCMI_
.. _SCMI: http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
.. _Software Delegated Exception Interface (SDEI): SDEI_
.. _SDEI: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
.. _Arm A-Profile architectures: https://developer.arm.com/architectures/cpu-architecture/a-profile
.. _view the full documentation: https://www.trustedfirmware.org/docs/tf-a
.. _trustedfirmware.org: http://www.trustedfirmware.org