xref: /rk3399_ARM-atf/readme.rst (revision 0668dd719e16dbc3a07d2316ac4a21c40db3cb9c)
1ca7145c5SPaul BeesleyTrusted Firmware-A - version 2.1
24def07d5SDan Handley================================
36f625747SDouglas Raillard
4*0668dd71SJohn Tsichritzis.. section-numbering::
5*0668dd71SJohn Tsichritzis    :suffix: .
6*0668dd71SJohn Tsichritzis
7*0668dd71SJohn Tsichritzis.. contents::
8*0668dd71SJohn Tsichritzis
94def07d5SDan HandleyTrusted Firmware-A (TF-A) provides a reference implementation of secure world
105b0b7276SDan Handleysoftware for `Armv7-A and Armv8-A`_, including a `Secure Monitor`_ executing
115b0b7276SDan Handleyat Exception Level 3 (EL3). It implements various Arm interface standards,
125b0b7276SDan Handleysuch as:
134bf3349bSDan Handley
144bf3349bSDan Handley-  The `Power State Coordination Interface (PSCI)`_
154def07d5SDan Handley-  Trusted Board Boot Requirements (TBBR, Arm DEN0006C-1)
164bf3349bSDan Handley-  `SMC Calling Convention`_
173c6261bdSPaul Beesley-  `System Control and Management Interface (SCMI)`_
185b0b7276SDan Handley-  `Software Delegated Exception Interface (SDEI)`_
194bf3349bSDan Handley
205b0b7276SDan HandleyWhere possible, the code is designed for reuse or porting to other Armv7-A and
215b0b7276SDan HandleyArmv8-A model and hardware platforms.
226f625747SDouglas Raillard
23ca7145c5SPaul BeesleyThis release provides a suitable starting point for productization of secure
24ca7145c5SPaul Beesleyworld boot and runtime firmware, in either the AArch32 or AArch64 execution
25ca7145c5SPaul Beesleystates.
26ca7145c5SPaul Beesley
27ca7145c5SPaul BeesleyUsers are encouraged to do their own security validation, including penetration
28ca7145c5SPaul Beesleytesting, on any secure world code derived from TF-A.
29ca7145c5SPaul Beesley
304def07d5SDan HandleyArm will continue development in collaboration with interested parties to
314def07d5SDan Handleyprovide a full reference implementation of Secure Monitor code and Arm standards
325b0b7276SDan Handleyto the benefit of all developers working with Armv7-A and Armv8-A TrustZone
335b0b7276SDan Handleytechnology.
346f625747SDouglas Raillard
35*0668dd71SJohn TsichritzisDocumentation contents
36*0668dd71SJohn Tsichritzis----------------------
37*0668dd71SJohn Tsichritzis
38*0668dd71SJohn TsichritzisThe `Trusted Firmware-A Documentation Contents`_ page contains an overview of
39*0668dd71SJohn Tsichritzisthe documentation that is available, with links to facilitate easier browsing.
40*0668dd71SJohn Tsichritzis
416f625747SDouglas RaillardLicense
426f625747SDouglas Raillard-------
436f625747SDouglas Raillard
446f625747SDouglas RaillardThe software is provided under a BSD-3-Clause `license`_. Contributions to this
456f625747SDouglas Raillardproject are accepted under the same license with developer sign-off as
466f625747SDouglas Raillarddescribed in the `Contributing Guidelines`_.
476f625747SDouglas Raillard
486f625747SDouglas RaillardThis project contains code from other projects as listed below. The original
496f625747SDouglas Raillardlicense text is included in those source files.
506f625747SDouglas Raillard
5127989a8eSAntonio Nino Diaz-  The libc source code is derived from `FreeBSD`_ and `SCC`_. FreeBSD uses
5227989a8eSAntonio Nino Diaz   various BSD licenses, including BSD-3-Clause and BSD-2-Clause. The SCC code
5327989a8eSAntonio Nino Diaz   is used under the BSD-3-Clause license with the author's permission.
546f625747SDouglas Raillard
55327cfc27SDan Handley-  The libfdt source code is disjunctively dual licensed
56327cfc27SDan Handley   (GPL-2.0+ OR BSD-2-Clause). It is used by this project under the terms of
57327cfc27SDan Handley   the BSD-2-Clause license. Any contributions to this code must be made under
58327cfc27SDan Handley   the terms of both licenses.
596f625747SDouglas Raillard
60327cfc27SDan Handley-  The LLVM compiler-rt source code is disjunctively dual licensed
61327cfc27SDan Handley   (NCSA OR MIT). It is used by this project under the terms of the NCSA
62327cfc27SDan Handley   license (also known as the University of Illinois/NCSA Open Source License),
63327cfc27SDan Handley   which is a permissive license compatible with BSD-3-Clause. Any
64327cfc27SDan Handley   contributions to this code must be made under the terms of both licenses.
654bf3349bSDan Handley
665b0b7276SDan Handley-  The zlib source code is licensed under the Zlib license, which is a
675b0b7276SDan Handley   permissive license compatible with BSD-3-Clause.
685b0b7276SDan Handley
69327cfc27SDan Handley-  Some STMicroelectronics platform source code is disjunctively dual licensed
70327cfc27SDan Handley   (GPL-2.0+ OR BSD-3-Clause). It is used by this project under the terms of the
71327cfc27SDan Handley   BSD-3-Clause license. Any contributions to this code must be made under the
72327cfc27SDan Handley   terms of both licenses.
73327cfc27SDan Handley
746f625747SDouglas RaillardFunctionality
75ca7145c5SPaul Beesley-------------
766f625747SDouglas Raillard
774bf3349bSDan Handley-  Initialization of the secure world, for example exception vectors, control
784bf3349bSDan Handley   registers and interrupts for the platform.
796f625747SDouglas Raillard
806f625747SDouglas Raillard-  Library support for CPU specific reset and power down sequences. This
814def07d5SDan Handley   includes support for errata workarounds and the latest Arm DynamIQ CPUs.
826f625747SDouglas Raillard
834def07d5SDan Handley-  Drivers to enable standard initialization of Arm System IP, for example
844bf3349bSDan Handley   Generic Interrupt Controller (GIC), Cache Coherent Interconnect (CCI),
854bf3349bSDan Handley   Cache Coherent Network (CCN), Network Interconnect (NIC) and TrustZone
864bf3349bSDan Handley   Controller (TZC).
876f625747SDouglas Raillard
884bf3349bSDan Handley-  A generic `SCMI`_ driver to interface with conforming power controllers, for
894def07d5SDan Handley   example the Arm System Control Processor (SCP).
906f625747SDouglas Raillard
914bf3349bSDan Handley-  SMC (Secure Monitor Call) handling, conforming to the `SMC Calling
924bf3349bSDan Handley   Convention`_ using an EL3 runtime services framework.
936f625747SDouglas Raillard
944bf3349bSDan Handley-  `PSCI`_ library support for CPU, cluster and system power management
954bf3349bSDan Handley   use-cases.
964bf3349bSDan Handley   This library is pre-integrated with the AArch64 EL3 Runtime Software, and
974bf3349bSDan Handley   is also suitable for integration with other AArch32 EL3 Runtime Software,
984bf3349bSDan Handley   for example an AArch32 Secure OS.
994bf3349bSDan Handley
1004bf3349bSDan Handley-  A minimal AArch32 Secure Payload (SP\_MIN) to demonstrate `PSCI`_ library
1014bf3349bSDan Handley   integration with AArch32 EL3 Runtime Software.
1026f625747SDouglas Raillard
1036f625747SDouglas Raillard-  Secure Monitor library code such as world switching, EL1 context management
1046f625747SDouglas Raillard   and interrupt routing.
1054bf3349bSDan Handley   When a Secure-EL1 Payload (SP) is present, for example a Secure OS, the
106d1ce4469SPaul Beesley   AArch64 EL3 Runtime Software must be integrated with a Secure Payload
107d1ce4469SPaul Beesley   Dispatcher (SPD) component to customize the interaction with the SP.
1086f625747SDouglas Raillard
109d1ce4469SPaul Beesley-  A Test SP and SPD to demonstrate AArch64 Secure Monitor functionality and SP
1104bf3349bSDan Handley   interaction with PSCI.
1116f625747SDouglas Raillard
112be8b4d19SPaul Beesley-  SPDs for the `OP-TEE Secure OS`_, `NVIDIA Trusted Little Kernel`_
1134bf3349bSDan Handley   and `Trusty Secure OS`_.
1146f625747SDouglas Raillard
1156f625747SDouglas Raillard-  A Trusted Board Boot implementation, conforming to all mandatory TBBR
1164bf3349bSDan Handley   requirements. This includes image authentication, Firmware Update (or
1174bf3349bSDan Handley   recovery mode), and packaging of the various firmware images into a
1184bf3349bSDan Handley   Firmware Image Package (FIP).
1196f625747SDouglas Raillard
1205b0b7276SDan Handley-  Pre-integration of TBB with the Arm CryptoCell product, to take advantage of
1215b0b7276SDan Handley   its hardware Root of Trust and crypto acceleration services.
1225b0b7276SDan Handley
1235b0b7276SDan Handley-  Reliability, Availability, and Serviceability (RAS) functionality, including
1245b0b7276SDan Handley
1255b0b7276SDan Handley   -  A Secure Partition Manager (SPM) to manage Secure Partitions in
1265b0b7276SDan Handley      Secure-EL0, which can be used to implement simple management and
1275b0b7276SDan Handley      security services.
1285b0b7276SDan Handley
1295b0b7276SDan Handley   -  An SDEI dispatcher to route interrupt-based SDEI events.
1305b0b7276SDan Handley
1315b0b7276SDan Handley   -  An Exception Handling Framework (EHF) that allows dispatching of EL3
1325b0b7276SDan Handley      interrupts to their registered handlers, to facilitate firmware-first
1335b0b7276SDan Handley      error handling.
1345b0b7276SDan Handley
1355b0b7276SDan Handley-  A dynamic configuration framework that enables each of the firmware images
1365b0b7276SDan Handley   to be configured at runtime if required by the platform. It also enables
1375b0b7276SDan Handley   loading of a hardware configuration (for example, a kernel device tree)
1385b0b7276SDan Handley   as part of the FIP, to be passed through the firmware stages.
1394bf3349bSDan Handley
1404bf3349bSDan Handley-  Support for alternative boot flows, for example to support platforms where
1414bf3349bSDan Handley   the EL3 Runtime Software is loaded using other firmware or a separate
1425b0b7276SDan Handley   secure system processor, or where a non-TF-A ROM expects BL2 to be loaded
1435b0b7276SDan Handley   at EL3.
1444bf3349bSDan Handley
1454def07d5SDan Handley-  Support for the GCC, LLVM and Arm Compiler 6 toolchains.
1466f625747SDouglas Raillard
147ca7145c5SPaul Beesley-  Support for combining several libraries into a "romlib" image that may be
148ca7145c5SPaul Beesley   shared across images to reduce memory footprint. The romlib image is stored
149ca7145c5SPaul Beesley   in ROM but is accessed through a jump-table that may be stored
150d83bf0bcSJoanna Farley   in read-write memory, allowing for the library code to be patched.
151d83bf0bcSJoanna Farley
152ca7145c5SPaul Beesley-  A prototype implementation of a Secure Partition Manager (SPM) that is based
153bf32bc9cSPaul Beesley   on the SPCI Alpha 1 and SPRT draft specifications.
154ca7145c5SPaul Beesley
155ca7145c5SPaul Beesley-  Support for ARMv8.3 pointer authentication in the normal and secure worlds.
156ca7145c5SPaul Beesley   The use of pointer authentication in the normal world is enabled whenever
157ca7145c5SPaul Beesley   architectural support is available, without the need for additional build
158ca7145c5SPaul Beesley   flags. Use of pointer authentication in the secure world remains an
159ca7145c5SPaul Beesley   experimental configuration at this time and requires the ``ENABLE_PAUTH``
160ca7145c5SPaul Beesley   build flag to be set.
161ca7145c5SPaul Beesley
162ca7145c5SPaul Beesley-  Position-Independent Executable (PIE) support. Initially for BL31 only, with
163ca7145c5SPaul Beesley   further support to be added in a future release.
164ca7145c5SPaul Beesley
1656f625747SDouglas RaillardFor a full description of functionality and implementation details, please
1666f625747SDouglas Raillardsee the `Firmware Design`_ and supporting documentation. The `Change Log`_
1676f625747SDouglas Raillardprovides details of changes made since the last release.
1686f625747SDouglas Raillard
1696f625747SDouglas RaillardPlatforms
170ca7145c5SPaul Beesley---------
1716f625747SDouglas Raillard
172d1ce4469SPaul BeesleyVarious AArch32 and AArch64 builds of this release have been tested on r0, r1
173d1ce4469SPaul Beesleyand r2 variants of the `Juno Arm Development Platform`_.
1746f625747SDouglas Raillard
1756192448aSAmbroise VincentThe latest version of the AArch64 build of TF-A has been tested on the following
1766192448aSAmbroise VincentArm FVPs without shifted affinities, and that do not support threaded CPU cores
1776192448aSAmbroise Vincent(64-bit host machine only).
1786f625747SDouglas Raillard
1796192448aSAmbroise VincentThe FVP models used are Version 11.5 Build 33, unless otherwise stated.
1806f625747SDouglas Raillard
181d83bf0bcSJoanna Farley-  ``FVP_Base_AEMv8A-AEMv8A``
182d83bf0bcSJoanna Farley-  ``FVP_Base_AEMv8A-AEMv8A-AEMv8A-AEMv8A-CCN502``
183d83bf0bcSJoanna Farley-  ``FVP_Base_RevC-2xAEMv8A``
184d83bf0bcSJoanna Farley-  ``FVP_Base_Cortex-A32x4``
1854bf3349bSDan Handley-  ``FVP_Base_Cortex-A35x4``
1864bf3349bSDan Handley-  ``FVP_Base_Cortex-A53x4``
187d83bf0bcSJoanna Farley-  ``FVP_Base_Cortex-A55x4+Cortex-A75x4``
188d83bf0bcSJoanna Farley-  ``FVP_Base_Cortex-A55x4``
1896192448aSAmbroise Vincent-  ``FVP_Base_Cortex-A57x1-A53x1``
1906192448aSAmbroise Vincent-  ``FVP_Base_Cortex-A57x2-A53x4``
1914bf3349bSDan Handley-  ``FVP_Base_Cortex-A57x4-A53x4``
1924bf3349bSDan Handley-  ``FVP_Base_Cortex-A57x4``
1934bf3349bSDan Handley-  ``FVP_Base_Cortex-A72x4-A53x4``
1944bf3349bSDan Handley-  ``FVP_Base_Cortex-A72x4``
1954bf3349bSDan Handley-  ``FVP_Base_Cortex-A73x4-A53x4``
1964bf3349bSDan Handley-  ``FVP_Base_Cortex-A73x4``
197d83bf0bcSJoanna Farley-  ``FVP_Base_Cortex-A75x4``
198d83bf0bcSJoanna Farley-  ``FVP_Base_Cortex-A76x4``
1999ccc5a57SAlexei Fedorov-  ``FVP_Base_Cortex-A76AEx4`` (Tested with internal model)
2009ccc5a57SAlexei Fedorov-  ``FVP_Base_Cortex-A76AEx8`` (Tested with internal model)
2016192448aSAmbroise Vincent-  ``FVP_Base_Neoverse-N1x4`` (Tested with internal model)
2026192448aSAmbroise Vincent-  ``FVP_Base_Deimos``
2036192448aSAmbroise Vincent-  ``FVP_CSS_SGI-575`` (Version 11.3 build 42)
2046192448aSAmbroise Vincent-  ``FVP_CSS_SGM-775`` (Version 11.3 build 42)
2056192448aSAmbroise Vincent-  ``FVP_RD_E1Edge`` (Version 11.3 build 42)
2066192448aSAmbroise Vincent-  ``FVP_RD_N1Edge`` (Version 11.3 build 42)
207d83bf0bcSJoanna Farley-  ``Foundation_Platform``
2085b0b7276SDan Handley
209d83bf0bcSJoanna FarleyThe latest version of the AArch32 build of TF-A has been tested on the following
2106192448aSAmbroise VincentArm FVPs without shifted affinities, and that do not support threaded CPU cores
211d83bf0bcSJoanna Farley(64-bit host machine only).
2124bf3349bSDan Handley
2135b0b7276SDan Handley-  ``FVP_Base_AEMv8A-AEMv8A``
2144bf3349bSDan Handley-  ``FVP_Base_Cortex-A32x4``
2156f625747SDouglas Raillard
2166192448aSAmbroise VincentNOTE: The ``FVP_Base_RevC-2xAEMv8A`` FVP only supports shifted affinities.
2176192448aSAmbroise Vincent
2186f625747SDouglas RaillardThe Foundation FVP can be downloaded free of charge. The Base FVPs can be
2194def07d5SDan Handleylicensed from Arm. See the `Arm FVP website`_.
2204bf3349bSDan Handley
221d83bf0bcSJoanna FarleyAll the above platforms have been tested with `Linaro Release 18.04`_.
2226f625747SDouglas Raillard
2236f625747SDouglas RaillardThis release also contains the following platform support:
2246f625747SDouglas Raillard
225ca7145c5SPaul Beesley-  Allwinner sun50i_a64 and sun50i_h6
22637f647a4SAntonio Nino Diaz-  Amlogic Meson S905 (GXBB)
2279b5a8aa5SRemi Pommarel-  Amlogic Meson S905x (GXL)
228ca7145c5SPaul Beesley-  Arm Juno Software Development Platform
229ca7145c5SPaul Beesley-  Arm Neoverse N1 System Development Platform (N1SDP)
230ca7145c5SPaul Beesley-  Arm Neoverse Reference Design N1 Edge (RD-N1-Edge) FVP
231ca7145c5SPaul Beesley-  Arm Neoverse Reference Design E1 Edge (RD-E1-Edge) FVP
232ca7145c5SPaul Beesley-  Arm SGI-575 and SGM-775
233ca7145c5SPaul Beesley-  Arm Versatile Express FVP
2345b0b7276SDan Handley-  HiKey, HiKey960 and Poplar boards
235ca7145c5SPaul Beesley-  Intel Stratix 10 SoC FPGA
23691ce07b1SAntonio Nino Diaz-  Marvell Armada 3700 and 8K
2376f625747SDouglas Raillard-  MediaTek MT6795 and MT8173 SoCs
23891ce07b1SAntonio Nino Diaz-  NVIDIA T132, T186 and T210 SoCs
239ca7145c5SPaul Beesley-  NXP QorIQ LS1043A, i.MX8MM, i.MX8MQ, i.MX8QX, i.MX8QM and i.MX7Solo WaRP7
24091ce07b1SAntonio Nino Diaz-  QEMU
24191ce07b1SAntonio Nino Diaz-  Raspberry Pi 3
242ca7145c5SPaul Beesley-  Renesas R-Car Generation 3
2434bf3349bSDan Handley-  RockChip RK3328, RK3368 and RK3399 SoCs
244150c38e8SSumit Garg-  Socionext UniPhier SoC family and SynQuacer SC2A11 SoCs
245d83bf0bcSJoanna Farley-  STMicroelectronics STM32MP1
2461841c533SNishanth Menon-  Texas Instruments K3 SoCs
24791ce07b1SAntonio Nino Diaz-  Xilinx Versal and Zynq UltraScale + MPSoC
2486f625747SDouglas Raillard
2495b0b7276SDan HandleyStill to come
250ca7145c5SPaul Beesley-------------
2516f625747SDouglas Raillard
252ca7145c5SPaul Beesley-  Support for additional platforms.
2536f625747SDouglas Raillard
254ca7145c5SPaul Beesley-  Refinements to Position Independent Executable (PIE) support.
255ca7145c5SPaul Beesley
256bf32bc9cSPaul Beesley-  Refinements to the SPCI-based SPM implementation as the draft SPCI and SPRT
257bf32bc9cSPaul Beesley   specifications continue to evolve.
258ca7145c5SPaul Beesley
259ca7145c5SPaul Beesley-  Documentation enhancements.
2605b0b7276SDan Handley
2616f625747SDouglas Raillard-  Ongoing support for new architectural features, CPUs and System IP.
2626f625747SDouglas Raillard
2635b0b7276SDan Handley-  Ongoing support for new Arm system architecture specifications.
2646f625747SDouglas Raillard
2656f625747SDouglas Raillard-  Ongoing security hardening, optimization and quality improvements.
2666f625747SDouglas Raillard
2674bf3349bSDan HandleyFor a full list of detailed issues in the current code, please see the `Change
26863fdda2dSLouis MayencourtLog`_ and the `issue tracker`_.
2696f625747SDouglas Raillard
2705b0b7276SDan HandleyGetting started
2716f625747SDouglas Raillard---------------
2726f625747SDouglas Raillard
27363fdda2dSLouis MayencourtSee the `User Guide`_ for instructions on how to download, install, build and
27463fdda2dSLouis Mayencourtuse TF-A with the Arm `FVP`_\ s.
2756f625747SDouglas Raillard
276d1ce4469SPaul BeesleySee the `Firmware Design`_ for information on how TF-A works.
2776f625747SDouglas Raillard
2786f625747SDouglas RaillardSee the `Porting Guide`_ as well for information about how to use this
2795b0b7276SDan Handleysoftware on another Armv7-A or Armv8-A platform.
2806f625747SDouglas Raillard
2816f625747SDouglas RaillardSee the `Contributing Guidelines`_ for information on how to contribute to this
2826f625747SDouglas Raillardproject and the `Acknowledgments`_ file for a list of contributors to the
2836f625747SDouglas Raillardproject.
2846f625747SDouglas Raillard
2858dd7bc6eSDimitris PapastamosIRC channel
2868dd7bc6eSDimitris Papastamos~~~~~~~~~~~
2878dd7bc6eSDimitris Papastamos
2888dd7bc6eSDimitris PapastamosDevelopment discussion takes place on the #trusted-firmware-a channel
2898dd7bc6eSDimitris Papastamoson the Freenode IRC network. This is not an official support channel.
29063fdda2dSLouis MayencourtIf you have an issue to raise, please use the `issue tracker`_.
2918dd7bc6eSDimitris Papastamos
2926f625747SDouglas RaillardFeedback and support
2936f625747SDouglas Raillard~~~~~~~~~~~~~~~~~~~~
2946f625747SDouglas Raillard
2954def07d5SDan HandleyArm welcomes any feedback on TF-A. If you think you have found a security
2964def07d5SDan Handleyvulnerability, please report this using the process defined in the TF-A
2973655ed87SSandrine Bailleux`Security Center`_. For all other feedback, please use the
29863fdda2dSLouis Mayencourt`issue tracker`_.
2996f625747SDouglas Raillard
3004def07d5SDan HandleyArm licensees may contact Arm directly via their partner managers.
3016f625747SDouglas Raillard
302d0f9809dSJoel HuttonSecurity advisories
303ca7145c5SPaul Beesley-------------------
304d0f9809dSJoel Hutton
30574f1f64aSSandrine Bailleux-  `Security Advisory TFV-1`_
30674f1f64aSSandrine Bailleux-  `Security Advisory TFV-2`_
30774f1f64aSSandrine Bailleux-  `Security Advisory TFV-3`_
30874f1f64aSSandrine Bailleux-  `Security Advisory TFV-4`_
30974f1f64aSSandrine Bailleux-  `Security Advisory TFV-5`_
31074f1f64aSSandrine Bailleux-  `Security Advisory TFV-6`_
31174f1f64aSSandrine Bailleux-  `Security Advisory TFV-7`_
31274f1f64aSSandrine Bailleux-  `Security Advisory TFV-8`_
313d0f9809dSJoel Hutton
314d0f9809dSJoel Hutton
3156f625747SDouglas Raillard--------------
3166f625747SDouglas Raillard
31791ce07b1SAntonio Nino Diaz*Copyright (c) 2013-2019, Arm Limited and Contributors. All rights reserved.*
3186f625747SDouglas Raillard
3195b0b7276SDan Handley.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
3206f625747SDouglas Raillard.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
3214bf3349bSDan Handley.. _Power State Coordination Interface (PSCI): PSCI_
3224bf3349bSDan Handley.. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
3234bf3349bSDan Handley.. _SMC Calling Convention: http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
3243c6261bdSPaul Beesley.. _System Control and Management Interface (SCMI): SCMI_
3254bf3349bSDan Handley.. _SCMI: http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
326ed811260Sdanh-arm.. _Software Delegated Exception Interface (SDEI): SDEI_
3275b0b7276SDan Handley.. _SDEI: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
3284def07d5SDan Handley.. _Juno Arm Development Platform: http://www.arm.com/products/tools/development-boards/versatile-express/juno-arm-development-platform.php
3294def07d5SDan Handley.. _Arm FVP website: FVP_
3304bf3349bSDan Handley.. _FVP: https://developer.arm.com/products/system-design/fixed-virtual-platforms
331d83bf0bcSJoanna Farley.. _Linaro Release 18.04: https://community.arm.com/dev-platforms/b/documents/posts/linaro-release-notes-deprecated#LinaroRelease18.04
3326f625747SDouglas Raillard.. _OP-TEE Secure OS: https://github.com/OP-TEE/optee_os
333be8b4d19SPaul Beesley.. _NVIDIA Trusted Little Kernel: http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/ote_partner/tlk.git;a=summary
3344bf3349bSDan Handley.. _Trusty Secure OS: https://source.android.com/security/trusty
33563fdda2dSLouis Mayencourt.. _trustedfirmware.org: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
336*0668dd71SJohn Tsichritzis.. _issue tracker: https://developer.trustedfirmware.org/project/board/1/
337d0f9809dSJoel Hutton.. _Security Center: ./docs/security-center.rst
3384bf3349bSDan Handley.. _license: ./license.rst
3394bf3349bSDan Handley.. _Contributing Guidelines: ./contributing.rst
3404bf3349bSDan Handley.. _Acknowledgments: ./acknowledgements.rst
3416f625747SDouglas Raillard.. _Firmware Design: ./docs/firmware-design.rst
3426f625747SDouglas Raillard.. _Change Log: ./docs/change-log.rst
3436f625747SDouglas Raillard.. _User Guide: ./docs/user-guide.rst
3446f625747SDouglas Raillard.. _Porting Guide: ./docs/porting-guide.rst
34527989a8eSAntonio Nino Diaz.. _FreeBSD: http://www.freebsd.org
34627989a8eSAntonio Nino Diaz.. _SCC: http://www.simple-cc.org/
347d0f9809dSJoel Hutton.. _Security Advisory TFV-1: ./docs/security_advisories/security-advisory-tfv-1.rst
348d0f9809dSJoel Hutton.. _Security Advisory TFV-2: ./docs/security_advisories/security-advisory-tfv-2.rst
349d0f9809dSJoel Hutton.. _Security Advisory TFV-3: ./docs/security_advisories/security-advisory-tfv-3.rst
350d0f9809dSJoel Hutton.. _Security Advisory TFV-4: ./docs/security_advisories/security-advisory-tfv-4.rst
351d0f9809dSJoel Hutton.. _Security Advisory TFV-5: ./docs/security_advisories/security-advisory-tfv-5.rst
352d0f9809dSJoel Hutton.. _Security Advisory TFV-6: ./docs/security_advisories/security-advisory-tfv-6.rst
353d0f9809dSJoel Hutton.. _Security Advisory TFV-7: ./docs/security_advisories/security-advisory-tfv-7.rst
354d0f9809dSJoel Hutton.. _Security Advisory TFV-8: ./docs/security_advisories/security-advisory-tfv-8.rst
355ca7145c5SPaul Beesley.. _Trusted Firmware-A Documentation Contents: ./docs/contents.rst
356