1 Trusted Firmware-A Documentation
2 ================================
16 security_advisories/index
21 Trusted Firmware-A (TF-A) provides a reference implementation of secure world
22 software for `Armv7-A and Armv8-A`_, including a `Secure Monitor`_ executing
23 at Exception Level 3 (EL3). It implements various Arm interface standards,
26 - The `Power State Coordination Interface (PSCI)`_
27 - `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
28 - `SMC Calling Convention`_
29 - `System Control and Management Interface (SCMI)`_
30 - `Software Delegated Exception Interface (SDEI)`_
32 Where possible, the code is designed for reuse or porting to other Armv7-A and
33 Armv8-A model and hardware platforms.
35 This release provides a suitable starting point for productization of secure
36 world boot and runtime firmware, in either the AArch32 or AArch64 execution
39 Users are encouraged to do their own security validation, including penetration
40 testing, on any secure world code derived from TF-A.
42 In collaboration with interested parties, we will continue to enhance |TF-A|
43 with reference implementations of Arm standards to benefit developers working
44 with Armv7-A and Armv8-A TrustZone technology.
49 The |TF-A| documentation contains guidance for obtaining and building the
50 software for existing, supported platforms, as well as supporting information
51 for porting the software to a new platform.
53 The **About** chapter gives a high-level overview of |TF-A| features as well as
54 some information on the project and how it is organized.
56 Refer to the documents in the **Getting Started** chapter for information about
57 the prerequisites and requirements for building |TF-A|.
59 The **Processes & Policies** chapter explains the project's release schedule
60 and process, how security disclosures are handled, and the guidelines for
61 contributing to the project (including the coding style).
63 The **Components** chapter holds documents that explain specific components
64 that make up the |TF-A| software, the :ref:`Exception Handling Framework`, for
67 In the **System Design** chapter you will find documents that explain the
68 design of portions of the software that involve more than one component, such
69 as the :ref:`Trusted Board Boot` process.
71 **Platform Ports** provides a list of the supported hardware and software-model
72 platforms that are supported upstream in |TF-A|. Most of these platforms also
73 have additional documentation that has been provided by the maintainers of the
76 The results of any performance evaluations are added to the
77 **Performance & Testing** chapter.
79 **Security Advisories** holds a list of documents relating to |CVE| entries that
80 have previously been raised against the software.
84 *Copyright (c) 2013-2019, Arm Limited and Contributors. All rights reserved.*
86 .. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
87 .. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
88 .. _Power State Coordination Interface (PSCI): http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
89 .. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest/trusted-board-boot-requirements-client-tbbr-client-armv8-a
90 .. _System Control and Management Interface (SCMI): http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
91 .. _Software Delegated Exception Interface (SDEI): http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
92 .. _SMC Calling Convention: http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf