blob: d5ab8fcf7aa815a101b2a3c9114f5519855ea43f [file] [log] [blame]
Paul Beesley40d553c2019-02-11 17:54:45 +00001Trusted Firmware-A Documentation
2================================
Paul Beesley653279b2019-01-23 15:39:39 +00003
4.. toctree::
5 :maxdepth: 1
Boyan Karatotevc65bf2d2022-10-27 15:12:36 +01006 :numbered:
Paul Beesley653279b2019-01-23 15:39:39 +00007
Paul Beesley9f1622b2019-03-07 15:25:14 +00008 Home<self>
Paul Beesley8eb94902019-10-16 13:35:47 +00009 about/index
Paul Beesley40d553c2019-02-11 17:54:45 +000010 getting_started/index
11 process/index
12 components/index
13 design/index
Sandrine Bailleux292585b2023-02-08 14:07:29 +010014 porting-guide
Paul Beesley40d553c2019-02-11 17:54:45 +000015 plat/index
16 perf/index
17 security_advisories/index
Balint Dobszay74601492019-11-13 12:48:00 +010018 design_documents/index
Zelalem7006f202021-02-24 19:20:09 -060019 threat_model/index
Paul Beesley653279b2019-01-23 15:39:39 +000020 change-log
Paul Beesley8f62ca72019-03-13 13:58:02 +000021 glossary
Paul Beesley9f1622b2019-03-07 15:25:14 +000022 license
Paul Beesley653279b2019-01-23 15:39:39 +000023
Paul Beesley9f1622b2019-03-07 15:25:14 +000024Trusted Firmware-A (TF-A) provides a reference implementation of secure world
25software for `Armv7-A and Armv8-A`_, including a `Secure Monitor`_ executing
26at Exception Level 3 (EL3). It implements various Arm interface standards,
27such as:
Paul Beesley653279b2019-01-23 15:39:39 +000028
Paul Beesley9f1622b2019-03-07 15:25:14 +000029- The `Power State Coordination Interface (PSCI)`_
30- `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
31- `SMC Calling Convention`_
32- `System Control and Management Interface (SCMI)`_
33- `Software Delegated Exception Interface (SDEI)`_
Manish V Badarkhe0f20e502021-06-20 21:14:46 +010034- `PSA FW update specification`_
Paul Beesley9f1622b2019-03-07 15:25:14 +000035
36Where possible, the code is designed for reuse or porting to other Armv7-A and
37Armv8-A model and hardware platforms.
38
39This release provides a suitable starting point for productization of secure
40world boot and runtime firmware, in either the AArch32 or AArch64 execution
41states.
42
43Users are encouraged to do their own security validation, including penetration
44testing, on any secure world code derived from TF-A.
45
Paul Beesley8cc36ae2019-09-23 15:40:21 +000046In collaboration with interested parties, we will continue to enhance |TF-A|
47with reference implementations of Arm standards to benefit developers working
48with Armv7-A and Armv8-A TrustZone technology.
Paul Beesley9f1622b2019-03-07 15:25:14 +000049
Paul Beesley8eb94902019-10-16 13:35:47 +000050Getting Started
51---------------
Paul Beesley9f1622b2019-03-07 15:25:14 +000052
Paul Beesley8eb94902019-10-16 13:35:47 +000053The |TF-A| documentation contains guidance for obtaining and building the
54software for existing, supported platforms, as well as supporting information
55for porting the software to a new platform.
Paul Beesley9f1622b2019-03-07 15:25:14 +000056
Paul Beesley8eb94902019-10-16 13:35:47 +000057The **About** chapter gives a high-level overview of |TF-A| features as well as
58some information on the project and how it is organized.
Paul Beesley9f1622b2019-03-07 15:25:14 +000059
Paul Beesley8eb94902019-10-16 13:35:47 +000060Refer to the documents in the **Getting Started** chapter for information about
61the prerequisites and requirements for building |TF-A|.
Paul Beesley9f1622b2019-03-07 15:25:14 +000062
Paul Beesley8eb94902019-10-16 13:35:47 +000063The **Processes & Policies** chapter explains the project's release schedule
64and process, how security disclosures are handled, and the guidelines for
65contributing to the project (including the coding style).
Paul Beesley9f1622b2019-03-07 15:25:14 +000066
Paul Beesley8eb94902019-10-16 13:35:47 +000067The **Components** chapter holds documents that explain specific components
68that make up the |TF-A| software, the :ref:`Exception Handling Framework`, for
69example.
Paul Beesley9f1622b2019-03-07 15:25:14 +000070
Paul Beesley8eb94902019-10-16 13:35:47 +000071In the **System Design** chapter you will find documents that explain the
72design of portions of the software that involve more than one component, such
73as the :ref:`Trusted Board Boot` process.
Paul Beesley9f1622b2019-03-07 15:25:14 +000074
Paul Beesley8eb94902019-10-16 13:35:47 +000075**Platform Ports** provides a list of the supported hardware and software-model
76platforms that are supported upstream in |TF-A|. Most of these platforms also
77have additional documentation that has been provided by the maintainers of the
78platform.
Paul Beesley9f1622b2019-03-07 15:25:14 +000079
Paul Beesley8eb94902019-10-16 13:35:47 +000080The results of any performance evaluations are added to the
81**Performance & Testing** chapter.
Paul Beesley9f1622b2019-03-07 15:25:14 +000082
Paul Beesley8eb94902019-10-16 13:35:47 +000083**Security Advisories** holds a list of documents relating to |CVE| entries that
84have previously been raised against the software.
Paul Beesley9f1622b2019-03-07 15:25:14 +000085
Paul Beesley9f1622b2019-03-07 15:25:14 +000086--------------
87
Sandrine Bailleux292585b2023-02-08 14:07:29 +010088*Copyright (c) 2013-2023, Arm Limited and Contributors. All rights reserved.*
Paul Beesley9f1622b2019-03-07 15:25:14 +000089
90.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
91.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
Paul Beesley8eb94902019-10-16 13:35:47 +000092.. _Power State Coordination Interface (PSCI): http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
Paul Beesley9f1622b2019-03-07 15:25:14 +000093.. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest/trusted-board-boot-requirements-client-tbbr-client-armv8-a
Paul Beesley8eb94902019-10-16 13:35:47 +000094.. _System Control and Management Interface (SCMI): http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
95.. _Software Delegated Exception Interface (SDEI): http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
laurenw-arm3ba55a32020-04-16 10:02:17 -050096.. _SMC Calling Convention: https://developer.arm.com/docs/den0028/latest
Manish V Badarkhe0f20e502021-06-20 21:14:46 +010097.. _PSA FW update specification: https://developer.arm.com/documentation/den0118/a/