blob: a7a59935660fedd010bbeea8f63b27990b4e71f5 [file] [log] [blame]
Paul Beesleyea225122019-02-11 17:54:45 +00001Trusted Firmware-A Documentation
2================================
Paul Beesley22994f72019-01-23 15:39:39 +00003
4.. toctree::
5 :maxdepth: 1
Boyan Karatotev6d269a52022-10-27 15:12:36 +01006 :numbered:
Paul Beesley22994f72019-01-23 15:39:39 +00007
Paul Beesleycb238022019-03-07 15:25:14 +00008 Home<self>
Paul Beesley48f12a42019-10-16 13:35:47 +00009 about/index
Paul Beesleyea225122019-02-11 17:54:45 +000010 getting_started/index
11 process/index
12 components/index
13 design/index
Sandrine Bailleuxf17ddaa2023-02-08 14:07:29 +010014 porting-guide
Paul Beesleyea225122019-02-11 17:54:45 +000015 plat/index
16 perf/index
17 security_advisories/index
Balint Dobszay637f4732019-11-13 12:48:00 +010018 design_documents/index
Zelalem05fed522021-02-24 19:20:09 -060019 threat_model/index
Harrison Mutaie9bc4882023-02-23 10:33:58 +000020 tools/index
Paul Beesley22994f72019-01-23 15:39:39 +000021 change-log
Paul Beesley606d8072019-03-13 13:58:02 +000022 glossary
Paul Beesleycb238022019-03-07 15:25:14 +000023 license
Paul Beesley22994f72019-01-23 15:39:39 +000024
Paul Beesleycb238022019-03-07 15:25:14 +000025Trusted Firmware-A (TF-A) provides a reference implementation of secure world
26software for `Armv7-A and Armv8-A`_, including a `Secure Monitor`_ executing
27at Exception Level 3 (EL3). It implements various Arm interface standards,
28such as:
29
30- The `Power State Coordination Interface (PSCI)`_
31- `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
32- `SMC Calling Convention`_
33- `System Control and Management Interface (SCMI)`_
34- `Software Delegated Exception Interface (SDEI)`_
Manish V Badarkheda87af12021-06-20 21:14:46 +010035- `PSA FW update specification`_
Paul Beesleycb238022019-03-07 15:25:14 +000036
37Where possible, the code is designed for reuse or porting to other Armv7-A and
38Armv8-A model and hardware platforms.
39
40This release provides a suitable starting point for productization of secure
41world boot and runtime firmware, in either the AArch32 or AArch64 execution
42states.
43
44Users are encouraged to do their own security validation, including penetration
45testing, on any secure world code derived from TF-A.
46
Paul Beesleyd4414b62019-09-23 15:40:21 +000047In collaboration with interested parties, we will continue to enhance |TF-A|
48with reference implementations of Arm standards to benefit developers working
49with Armv7-A and Armv8-A TrustZone technology.
Paul Beesleycb238022019-03-07 15:25:14 +000050
Paul Beesley48f12a42019-10-16 13:35:47 +000051Getting Started
52---------------
Paul Beesleycb238022019-03-07 15:25:14 +000053
Paul Beesley48f12a42019-10-16 13:35:47 +000054The |TF-A| documentation contains guidance for obtaining and building the
55software for existing, supported platforms, as well as supporting information
56for porting the software to a new platform.
Paul Beesleycb238022019-03-07 15:25:14 +000057
Paul Beesley48f12a42019-10-16 13:35:47 +000058The **About** chapter gives a high-level overview of |TF-A| features as well as
59some information on the project and how it is organized.
Paul Beesleycb238022019-03-07 15:25:14 +000060
Paul Beesley48f12a42019-10-16 13:35:47 +000061Refer to the documents in the **Getting Started** chapter for information about
62the prerequisites and requirements for building |TF-A|.
Paul Beesleycb238022019-03-07 15:25:14 +000063
Paul Beesley48f12a42019-10-16 13:35:47 +000064The **Processes & Policies** chapter explains the project's release schedule
65and process, how security disclosures are handled, and the guidelines for
66contributing to the project (including the coding style).
Paul Beesleycb238022019-03-07 15:25:14 +000067
Paul Beesley48f12a42019-10-16 13:35:47 +000068The **Components** chapter holds documents that explain specific components
69that make up the |TF-A| software, the :ref:`Exception Handling Framework`, for
70example.
Paul Beesleycb238022019-03-07 15:25:14 +000071
Paul Beesley48f12a42019-10-16 13:35:47 +000072In the **System Design** chapter you will find documents that explain the
73design of portions of the software that involve more than one component, such
74as the :ref:`Trusted Board Boot` process.
Paul Beesleycb238022019-03-07 15:25:14 +000075
Paul Beesley48f12a42019-10-16 13:35:47 +000076**Platform Ports** provides a list of the supported hardware and software-model
77platforms that are supported upstream in |TF-A|. Most of these platforms also
78have additional documentation that has been provided by the maintainers of the
79platform.
Paul Beesleycb238022019-03-07 15:25:14 +000080
Paul Beesley48f12a42019-10-16 13:35:47 +000081The results of any performance evaluations are added to the
82**Performance & Testing** chapter.
Paul Beesleycb238022019-03-07 15:25:14 +000083
Paul Beesley48f12a42019-10-16 13:35:47 +000084**Security Advisories** holds a list of documents relating to |CVE| entries that
85have previously been raised against the software.
Paul Beesleycb238022019-03-07 15:25:14 +000086
Paul Beesleycb238022019-03-07 15:25:14 +000087--------------
88
Sandrine Bailleuxf17ddaa2023-02-08 14:07:29 +010089*Copyright (c) 2013-2023, Arm Limited and Contributors. All rights reserved.*
Paul Beesley22994f72019-01-23 15:39:39 +000090
Paul Beesleycb238022019-03-07 15:25:14 +000091.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
92.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
Manish V Badarkhe9d24e9b2023-06-15 09:14:33 +010093.. _Power State Coordination Interface (PSCI): https://developer.arm.com/documentation/den0022/latest/
Paul Beesleycb238022019-03-07 15:25:14 +000094.. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest/trusted-board-boot-requirements-client-tbbr-client-armv8-a
Paul Beesley48f12a42019-10-16 13:35:47 +000095.. _System Control and Management Interface (SCMI): http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
96.. _Software Delegated Exception Interface (SDEI): http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
laurenw-arm03e7e612020-04-16 10:02:17 -050097.. _SMC Calling Convention: https://developer.arm.com/docs/den0028/latest
Manish V Badarkheda87af12021-06-20 21:14:46 +010098.. _PSA FW update specification: https://developer.arm.com/documentation/den0118/a/