blob: 171b32bf7676937a273314f7b2bb17c21e2b8e33 [file] [log] [blame]
Paul Beesleyd4414b62019-09-23 15:40:21 +00001Trusted Firmware-A
2==================
Douglas Raillardd7c21b72017-06-28 15:23:03 +01003
Paul Beesleybe09bf82019-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 Tsichritzis55478d92019-04-11 17:23:32 +01009
Paul Beesleybe09bf82019-10-09 15:37:59 +000010TF-A implements Arm interface standards, including:
John Tsichritzis55478d92019-04-11 17:23:32 +010011
Paul Beesleyd4414b62019-09-23 15:40:21 +000012- `Power State Coordination Interface (PSCI)`_
Sandrine Bailleux30918422019-04-24 10:41:24 +020013- `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
Dan Handleyed09d382017-07-05 17:40:29 +010014- `SMC Calling Convention`_
Paul Beesley2bb814c2019-01-10 15:42:39 +000015- `System Control and Management Interface (SCMI)`_
Dan Handleycc573cb2018-03-14 13:01:39 +000016- `Software Delegated Exception Interface (SDEI)`_
Dan Handleyed09d382017-07-05 17:40:29 +010017
Paul Beesleyd4414b62019-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 Raillardd7c21b72017-06-28 15:23:03 +010020
Paul Beesleybe09bf82019-10-09 15:37:59 +000021In collaboration with interested parties, we will continue to enhance TF-A
Paul Beesleyd4414b62019-09-23 15:40:21 +000022with reference implementations of Arm standards to benefit developers working
23with Armv7-A and Armv8-A TrustZone technology.
Paul Beesleyfc118632019-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 Beesleybe09bf82019-10-09 15:37:59 +000028More Info and Documentation
29---------------------------
Douglas Raillardd7c21b72017-06-28 15:23:03 +010030
Paul Beesleyd4414b62019-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 Hutton0f79fb12019-02-26 16:23:54 +000033
Douglas Raillardd7c21b72017-06-28 15:23:03 +010034--------------
35
Antonio Nino Diaz31291532019-01-17 12:16:07 +000036*Copyright (c) 2013-2019, Arm Limited and Contributors. All rights reserved.*
Douglas Raillardd7c21b72017-06-28 15:23:03 +010037
Dan Handleycc573cb2018-03-14 13:01:39 +000038.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
Douglas Raillardd7c21b72017-06-28 15:23:03 +010039.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
Dan Handleyed09d382017-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 Bailleuxf2384172024-02-02 11:16:12 +010042.. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest
Dan Handleyed09d382017-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 Beesley2bb814c2019-01-10 15:42:39 +000044.. _System Control and Management Interface (SCMI): SCMI_
Dan Handleyed09d382017-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-arm190e4fa2018-03-20 17:01:39 +000046.. _Software Delegated Exception Interface (SDEI): SDEI_
Dan Handleycc573cb2018-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 Beesleyd4414b62019-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