blob: 0d717813299cc0d160bca0762abb06d429e17824 [file] [log] [blame]
Paul Beesley8cc36ae2019-09-23 15:40:21 +00001Trusted Firmware-A
2==================
Douglas Raillard6f625742017-06-28 15:23:03 +01003
Paul Beesley76cf6532019-10-09 15:37:59 +00004Trusted Firmware-A (TF-A) is a reference implementation of secure world software
5for `Arm A-Profile architectures`_ (Armv8-A and Armv7-A), including an Exception
6Level 3 (EL3) `Secure Monitor`_. It provides a suitable starting point for
7productization of secure world boot and runtime firmware, in either the AArch32
8or AArch64 execution states.
John Tsichritzis0668dd72019-04-11 17:23:32 +01009
Paul Beesley76cf6532019-10-09 15:37:59 +000010TF-A implements Arm interface standards, including:
John Tsichritzis0668dd72019-04-11 17:23:32 +010011
Paul Beesley8cc36ae2019-09-23 15:40:21 +000012- `Power State Coordination Interface (PSCI)`_
Sandrine Bailleuxc1491eb2019-04-24 10:41:24 +020013- `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
Dan Handley4bf33492017-07-05 17:40:29 +010014- `SMC Calling Convention`_
Paul Beesley3c6261b2019-01-10 15:42:39 +000015- `System Control and Management Interface (SCMI)`_
Dan Handley5b0b7272018-03-14 13:01:39 +000016- `Software Delegated Exception Interface (SDEI)`_
Dan Handley4bf33492017-07-05 17:40:29 +010017
Paul Beesley8cc36ae2019-09-23 15:40:21 +000018The code is designed to be portable and reusable across hardware platforms and
19software models that are based on the Armv8-A and Armv7-A architectures.
Douglas Raillard6f625742017-06-28 15:23:03 +010020
Paul Beesley76cf6532019-10-09 15:37:59 +000021In collaboration with interested parties, we will continue to enhance TF-A
Paul Beesley8cc36ae2019-09-23 15:40:21 +000022with reference implementations of Arm standards to benefit developers working
23with Armv7-A and Armv8-A TrustZone technology.
Paul Beesleyca7145c2019-03-25 16:45:23 +000024
25Users are encouraged to do their own security validation, including penetration
26testing, on any secure world code derived from TF-A.
27
Paul Beesley76cf6532019-10-09 15:37:59 +000028More Info and Documentation
29---------------------------
Douglas Raillard6f625742017-06-28 15:23:03 +010030
Paul Beesley8cc36ae2019-09-23 15:40:21 +000031To find out more about Trusted Firmware-A, please `view the full documentation`_
32that is available through `trustedfirmware.org`_.
Joel Huttond0f98092019-02-26 16:23:54 +000033
Douglas Raillard6f625742017-06-28 15:23:03 +010034--------------
35
Antonio Nino Diaz91ce07b2019-01-17 12:16:07 +000036*Copyright (c) 2013-2019, Arm Limited and Contributors. All rights reserved.*
Douglas Raillard6f625742017-06-28 15:23:03 +010037
Dan Handley5b0b7272018-03-14 13:01:39 +000038.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
Douglas Raillard6f625742017-06-28 15:23:03 +010039.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
Dan Handley4bf33492017-07-05 17:40:29 +010040.. _Power State Coordination Interface (PSCI): PSCI_
41.. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
Sandrine Bailleuxc1491eb2019-04-24 10:41:24 +020042.. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest/trusted-board-boot-requirements-client-tbbr-client-armv8-a
Dan Handley4bf33492017-07-05 17:40:29 +010043.. _SMC Calling Convention: http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
Paul Beesley3c6261b2019-01-10 15:42:39 +000044.. _System Control and Management Interface (SCMI): SCMI_
Dan Handley4bf33492017-07-05 17:40:29 +010045.. _SCMI: http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
danh-armed811262018-03-20 17:01:39 +000046.. _Software Delegated Exception Interface (SDEI): SDEI_
Dan Handley5b0b7272018-03-14 13:01:39 +000047.. _SDEI: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
Paul Beesley8cc36ae2019-09-23 15:40:21 +000048.. _Arm A-Profile architectures: https://developer.arm.com/architectures/cpu-architecture/a-profile
49.. _view the full documentation: https://www.trustedfirmware.org/docs/tf-a
50.. _trustedfirmware.org: http://www.trustedfirmware.org
51
Release CI1e545352024-04-12 16:08:09 +000052
Release CI463589a2024-04-26 16:12:04 +000053
Release CIf7fcbe12024-05-16 21:37:26 +000054
Release CIfc11deb2024-06-28 18:12:48 +000055
Release CIfd99b412024-09-20 16:14:37 +000056
Release CI0c25d312024-10-04 16:14:54 +000057
Release CIb12dc922024-10-18 16:43:34 +000058
Release CI14995782024-10-25 16:37:05 +000059
Release CI3b8edbc2024-11-23 17:59:31 +000060
Release CIbd119c82024-12-06 17:19:55 +000061
Release CIab1f18f2025-01-10 17:07:37 +000062
Release CIed62bea2025-01-27 15:09:00 +000063
Release CIf68e73e2025-02-14 16:36:54 +000064
Release CI8b76bf02025-02-21 15:16:31 +000065