No description
Find a file
2025-09-24 18:48:27 +00:00
.github chore(deps): add LTS-v2.12 Dependabot configuration 2025-08-05 11:34:27 -07:00
.husky fix(deps): remove deprecated husky commands 2025-03-11 18:57:00 +01:00
bl1 refactor: unify blx_setup() and blx_main() 2025-09-12 08:04:31 +01:00
bl2 refactor: unify blx_setup() and blx_main() 2025-09-12 08:04:31 +01:00
bl2u feat(cpufeat): enable FEAT_BTI to FEAT_STATE_CHECKED 2025-04-14 09:58:02 +01:00
bl31 feat(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
bl32 refactor(aarch64): move BL31 specific setup out of the PSCI entrypoint 2025-09-12 08:04:33 +01:00
common feat(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
contrib build(measured-boot)!: move to ext event log lib 2025-09-17 09:43:06 +00:00
docs feat(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
drivers fix(gicv3): avoid incrementing global gicr_frames pointer 2025-09-22 12:27:44 +01:00
fdts refactor(tc): neaten platform code after TC2 removal 2025-09-23 12:56:12 +00:00
include feat(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
lib feat(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
licenses feat(dice): add typedefs from the Open DICE repo 2024-03-06 15:44:55 +01:00
make_helpers feat(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
plat feat(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
services Merge changes from topic "ja/ffa_v1_3" into integration 2025-09-22 12:37:18 +00:00
tools chore(handoff)!: remove in-tree TLC implementation 2025-09-17 10:49:28 +01:00
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch 2019-07-12 11:06:24 +01:00
.clang-format style(clang-format): add Clang-Format configuration 2025-03-24 17:58:05 +00:00
.commitlintrc.js build(commitlint): treat wrong scopes as error 2025-06-11 20:06:16 +02: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 fix: .gitignore to include memory tools 2023-08-11 11:49:53 +01:00
.gitmodules build(measured-boot)!: move to ext event log lib 2025-09-17 09:43:06 +00:00
.gitreview Specify integration as the default branch for git-review 2020-04-02 07:57:17 +00:00
.nvmrc build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
.readthedocs.yaml fix(docs): ensure all submodules are cloned 2025-09-24 10:52:56 +00:00
.versionrc.cjs build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
changelog.yaml chore(handoff)!: remove in-tree TLC implementation 2025-09-17 10:49:28 +01: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(cpufeat): enable FEAT_CPA2 for EL3 2025-09-24 18:03:57 +00:00
package-lock.json build(dev-deps): bump brace-expansion 2025-09-15 17:45:28 +02:00
package.json docs(changelog): changelog for v2.13 release 2025-05-21 19:05:31 +01:00
poetry.lock chore(handoff)!: remove in-tree TLC implementation 2025-09-17 10:49:28 +01:00
pyproject.toml chore(handoff)!: remove in-tree TLC implementation 2025-09-17 10:49:28 +01:00
readme.rst docs: fix link to TBBR specification 2024-02-02 15:31:12 +01: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
.. _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