blob: 148d477a424e3f667b66a5c83ec6f9b6f9bae9ff [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