xref: /arm-trusted-firmware/readme.rst (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700SchasingluluTrusted Firmware-A
2*91f16700Schasinglulu==================
3*91f16700Schasinglulu
4*91f16700SchasingluluTrusted Firmware-A (TF-A) is a reference implementation of secure world software
5*91f16700Schasinglulufor `Arm A-Profile architectures`_ (Armv8-A and Armv7-A), including an Exception
6*91f16700SchasingluluLevel 3 (EL3) `Secure Monitor`_. It provides a suitable starting point for
7*91f16700Schasingluluproductization of secure world boot and runtime firmware, in either the AArch32
8*91f16700Schasingluluor AArch64 execution states.
9*91f16700Schasinglulu
10*91f16700SchasingluluTF-A implements Arm interface standards, including:
11*91f16700Schasinglulu
12*91f16700Schasinglulu-  `Power State Coordination Interface (PSCI)`_
13*91f16700Schasinglulu-  `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
14*91f16700Schasinglulu-  `SMC Calling Convention`_
15*91f16700Schasinglulu-  `System Control and Management Interface (SCMI)`_
16*91f16700Schasinglulu-  `Software Delegated Exception Interface (SDEI)`_
17*91f16700Schasinglulu
18*91f16700SchasingluluThe code is designed to be portable and reusable across hardware platforms and
19*91f16700Schasinglulusoftware models that are based on the Armv8-A and Armv7-A architectures.
20*91f16700Schasinglulu
21*91f16700SchasingluluIn collaboration with interested parties, we will continue to enhance TF-A
22*91f16700Schasingluluwith reference implementations of Arm standards to benefit developers working
23*91f16700Schasingluluwith Armv7-A and Armv8-A TrustZone technology.
24*91f16700Schasinglulu
25*91f16700SchasingluluUsers are encouraged to do their own security validation, including penetration
26*91f16700Schasinglulutesting, on any secure world code derived from TF-A.
27*91f16700Schasinglulu
28*91f16700SchasingluluMore Info and Documentation
29*91f16700Schasinglulu---------------------------
30*91f16700Schasinglulu
31*91f16700SchasingluluTo find out more about Trusted Firmware-A, please `view the full documentation`_
32*91f16700Schasingluluthat is available through `trustedfirmware.org`_.
33*91f16700Schasinglulu
34*91f16700Schasinglulu--------------
35*91f16700Schasinglulu
36*91f16700Schasinglulu*Copyright (c) 2013-2019, Arm Limited and Contributors. All rights reserved.*
37*91f16700Schasinglulu
38*91f16700Schasinglulu.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
39*91f16700Schasinglulu.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
40*91f16700Schasinglulu.. _Power State Coordination Interface (PSCI): PSCI_
41*91f16700Schasinglulu.. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
42*91f16700Schasinglulu.. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest/trusted-board-boot-requirements-client-tbbr-client-armv8-a
43*91f16700Schasinglulu.. _SMC Calling Convention: http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
44*91f16700Schasinglulu.. _System Control and Management Interface (SCMI): SCMI_
45*91f16700Schasinglulu.. _SCMI: http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
46*91f16700Schasinglulu.. _Software Delegated Exception Interface (SDEI): SDEI_
47*91f16700Schasinglulu.. _SDEI: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
48*91f16700Schasinglulu.. _Arm A-Profile architectures: https://developer.arm.com/architectures/cpu-architecture/a-profile
49*91f16700Schasinglulu.. _view the full documentation: https://www.trustedfirmware.org/docs/tf-a
50*91f16700Schasinglulu.. _trustedfirmware.org: http://www.trustedfirmware.org
51*91f16700Schasinglulu
52