No description
Find a file
Boyan Karatotev 27a8bcdc37 refactor(cpus): convert the Cortex-A78AE to use the errata framework
This involves replacing:
 * the reset_func with the standard cpu_reset_func_{start,end} to apply
   errata automatically
 * the <cpu>_errata_report with the errata_report_shim to report errata
   automatically
...and for each erratum:
 * the prologue with the workaround_<type>_start to do the checks and
   framework registration automatically
 * the epilogue with the workaround_<type>_end
 * the checker function with the check_erratum_<type> to make it more
   descriptive

It is important to note that the errata workaround and checking
sequences remain unchanged and preserve their git blame.

At this point the binary output of all errata was checked with the
script from commit 19136. The reported discrepancies are immaterial.
All errata have been checked that they get invoked.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Ideb6397f4ac7c3c1d04549a57af43bfa7ef25c1d
2023-08-04 11:50:23 -05:00
.husky build(hooks): allow hooks to skip Commitizen 2023-04-18 17:38:20 +01:00
bl1 refactor(pmu): convert FEAT_MTPMU to C and move to persistent register init 2023-06-29 09:59:06 +01:00
bl2 refactor(pmu): convert FEAT_MTPMU to C and move to persistent register init 2023-06-29 09:59:06 +01:00
bl2u chore(bl): add UNALIGNED symbols for TEXT/RODATA 2023-06-12 12:50:08 +02:00
bl31 refactor(el3-runtime): move interrupt exception handler from macro to a function 2023-07-21 09:59:33 +01:00
bl32 refactor(pmu): convert FEAT_MTPMU to C and move to persistent register init 2023-06-29 09:59:06 +01:00
common feat(mte): adds feature detection for MTE_PERM 2023-07-20 09:00:22 +01:00
docs Merge changes from topic "ar/errata_refactor" into integration 2023-08-04 18:01:07 +02:00
drivers chore(ethos-n): update npu firmware version 2023-07-14 15:24:18 +01:00
fdts feat(morello): add support for I2S audio 2023-07-27 15:20:14 +05:30
include Merge changes from topic "ar/errata_refactor" into integration 2023-08-04 18:01:07 +02:00
lib refactor(cpus): convert the Cortex-A78AE to use the errata framework 2023-08-04 11:50:23 -05:00
licenses docs(license): rectify arm-gic.h license 2021-04-26 12:36:00 +01:00
make_helpers feat(mte): adds feature detection for MTE_PERM 2023-07-20 09:00:22 +01:00
plat fix(errata-abi): added Neoverse N2 to Errata ABI list 2023-08-03 22:42:24 +02:00
services fix(cpus): workaround for Neoverse N2 erratum 2779511 2023-08-03 22:42:31 +02:00
tools build(tools): avoid unnecessary link 2023-07-05 13:00:18 +02:00
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch 2019-07-12 11:06:24 +01:00
.commitlintrc.js build(commitlint): make the scope optional 2022-05-03 11:06:50 +02:00
.cz.json refactor(hooks): replace cz-conventional-changelog with cz-commitlint 2022-01-24 12:55:00 +00:00
.editorconfig .editorconfig: set max line length to 100 2020-12-03 15:39:23 +00:00
.gitignore chore: add dependency files generated by tools to .gitignore 2023-04-05 09:47:15 +01:00
.gitreview Specify integration as the default branch for git-review 2020-04-02 07:57:17 +00:00
.nvmrc build(npm): add NVM version file 2022-10-10 13:24:22 +01:00
.readthedocs.yaml Revert "docs: disable PDF output for documentation generation" 2023-07-27 11:30:56 +02:00
.versionrc.js fix(docs): fix build errors for latexpdf 2023-06-12 10:56:30 +01:00
changelog.yaml feat(nuvoton): added support for npcm845x chip 2023-07-26 08:14:45 +03:00
dco.txt Drop requirement for CLA in contribution.md 2016-09-27 21:52:03 +01:00
license.rst doc: De-duplicate readme and license files 2019-10-08 16:36:15 +00:00
Makefile feat(mte): adds feature detection for MTE_PERM 2023-07-20 09:00:22 +01:00
package-lock.json docs(changelog): changelog for v2.9 release 2023-05-19 13:49:08 -05:00
package.json docs(changelog): changelog for v2.9 release 2023-05-19 13:49:08 -05:00
poetry.lock fix(docs): fix build errors for latexpdf 2023-06-12 10:56:30 +01:00
pyproject.toml fix(docs): fix build errors for latexpdf 2023-06-12 10:56:30 +01:00
readme.rst doc: Formatting fixes for readme.rst 2019-10-09 15:37:59 +00:00

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/trusted-board-boot-requirements-client-tbbr-client-armv8-a
.. _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