1<!DOCTYPE html>
2<html class="writer-html5" lang="en" >
3<head>
4  <meta charset="utf-8" />
5  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6  <title>Search &mdash; Trusted Firmware-A  documentation</title>
7      <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
8      <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
9      <link rel="stylesheet" href="_static/css/custom.css" type="text/css" />
10
11  <!--[if lt IE 9]>
12    <script src="_static/js/html5shiv.min.js"></script>
13  <![endif]-->
14
15        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
16        <script src="_static/jquery.js"></script>
17        <script src="_static/underscore.js"></script>
18        <script src="_static/doctools.js"></script>
19    <script src="_static/js/theme.js"></script>
20    <script src="_static/searchtools.js"></script>
21    <script src="_static/language_data.js"></script>
22    <link rel="index" title="Index" href="genindex.html" />
23    <link rel="search" title="Search" href="#" />
24</head>
25
26<body class="wy-body-for-nav">
27  <div class="wy-grid-for-nav">
28    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
29      <div class="wy-side-scroll">
30        <div class="wy-side-nav-search" >
31            <a href="index.html" class="icon icon-home"> Trusted Firmware-A
32            <img src="_static/TrustedFirmware-Logo_standard-white.png" class="logo" alt="Logo"/>
33          </a>
34<div role="search">
35  <form id="rtd-search-form" class="wy-form" action="#" method="get">
36    <input type="text" name="q" placeholder="Search docs" />
37    <input type="hidden" name="check_keywords" value="yes" />
38    <input type="hidden" name="area" value="default" />
39  </form>
40</div>
41        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
42              <ul>
43<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
44<li class="toctree-l1"><a class="reference internal" href="about/index.html">About</a><ul>
45<li class="toctree-l2"><a class="reference internal" href="about/features.html">1. Feature Overview</a><ul>
46<li class="toctree-l3"><a class="reference internal" href="about/features.html#current-features">1.1. Current features</a></li>
47<li class="toctree-l3"><a class="reference internal" href="about/features.html#still-to-come">1.2. Still to come</a></li>
48</ul>
49</li>
50<li class="toctree-l2"><a class="reference internal" href="about/release-information.html">2. Release Processes</a><ul>
51<li class="toctree-l3"><a class="reference internal" href="about/release-information.html#project-release-cadence">2.1. Project Release Cadence</a><ul>
52<li class="toctree-l4"><a class="reference internal" href="about/release-information.html#upcoming-releases">2.1.1. Upcoming Releases</a></li>
53</ul>
54</li>
55<li class="toctree-l3"><a class="reference internal" href="about/release-information.html#removal-of-deprecated-interfaces">2.2. Removal of Deprecated Interfaces</a></li>
56</ul>
57</li>
58<li class="toctree-l2"><a class="reference internal" href="about/maintainers.html">3. Project Maintenance</a><ul>
59<li class="toctree-l3"><a class="reference internal" href="about/maintainers.html#maintainers">3.1. Maintainers</a></li>
60<li class="toctree-l3"><a class="reference internal" href="about/maintainers.html#code-owners">3.2. Code owners</a><ul>
61<li class="toctree-l4"><a class="reference internal" href="about/maintainers.html#common-code">3.2.1. Common Code</a></li>
62<li class="toctree-l4"><a class="reference internal" href="about/maintainers.html#drivers-libraries-and-framework-code">3.2.2. Drivers, Libraries and Framework Code</a></li>
63<li class="toctree-l4"><a class="reference internal" href="about/maintainers.html#platform-ports">3.2.3. Platform Ports</a></li>
64<li class="toctree-l4"><a class="reference internal" href="about/maintainers.html#secure-payloads-and-dispatchers">3.2.4. Secure Payloads and Dispatchers</a></li>
65<li class="toctree-l4"><a class="reference internal" href="about/maintainers.html#tools">3.2.5. Tools</a></li>
66<li class="toctree-l4"><a class="reference internal" href="about/maintainers.html#threat-model">3.2.6. Threat Model</a></li>
67<li class="toctree-l4"><a class="reference internal" href="about/maintainers.html#conventional-changelog-extensions">3.2.7. Conventional Changelog Extensions</a></li>
68</ul>
69</li>
70</ul>
71</li>
72<li class="toctree-l2"><a class="reference internal" href="about/contact.html">4. Support &amp; Contact</a><ul>
73<li class="toctree-l3"><a class="reference internal" href="about/contact.html#mailing-lists">4.1. Mailing Lists</a></li>
74<li class="toctree-l3"><a class="reference internal" href="about/contact.html#open-tech-forum-call">4.2. Open Tech Forum Call</a></li>
75<li class="toctree-l3"><a class="reference internal" href="about/contact.html#issue-tracker">4.3. Issue Tracker</a></li>
76<li class="toctree-l3"><a class="reference internal" href="about/contact.html#arm-licensees">4.4. Arm Licensees</a></li>
77</ul>
78</li>
79<li class="toctree-l2"><a class="reference internal" href="about/acknowledgements.html">5. Contributor Acknowledgements</a></li>
80</ul>
81</li>
82<li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</a><ul>
83<li class="toctree-l2"><a class="reference internal" href="getting_started/prerequisites.html">1. Prerequisites</a><ul>
84<li class="toctree-l3"><a class="reference internal" href="getting_started/prerequisites.html#build-host">1.1. Build Host</a></li>
85<li class="toctree-l3"><a class="reference internal" href="getting_started/prerequisites.html#toolchain">1.2. Toolchain</a></li>
86<li class="toctree-l3"><a class="reference internal" href="getting_started/prerequisites.html#software-and-libraries">1.3. Software and Libraries</a><ul>
87<li class="toctree-l4"><a class="reference internal" href="getting_started/prerequisites.html#package-installation-linux">1.3.1. Package Installation (Linux)</a></li>
88</ul>
89</li>
90<li class="toctree-l3"><a class="reference internal" href="getting_started/prerequisites.html#supporting-files">1.4. Supporting Files</a></li>
91<li class="toctree-l3"><a class="reference internal" href="getting_started/prerequisites.html#getting-the-tf-a-source">1.5. Getting the TF-A Source</a><ul>
92<li class="toctree-l4"><a class="reference internal" href="getting_started/prerequisites.html#additional-steps-for-contributors">1.5.1. Additional Steps for Contributors</a></li>
93</ul>
94</li>
95</ul>
96</li>
97<li class="toctree-l2"><a class="reference internal" href="getting_started/docs-build.html">2. Building Documentation</a><ul>
98<li class="toctree-l3"><a class="reference internal" href="getting_started/docs-build.html#prerequisites">2.1. Prerequisites</a></li>
99<li class="toctree-l3"><a class="reference internal" href="getting_started/docs-build.html#building-rendered-documentation">2.2. Building rendered documentation</a></li>
100<li class="toctree-l3"><a class="reference internal" href="getting_started/docs-build.html#building-rendered-documentation-from-a-container">2.3. Building rendered documentation from a container</a></li>
101</ul>
102</li>
103<li class="toctree-l2"><a class="reference internal" href="getting_started/tools-build.html">3. Building Supporting Tools</a><ul>
104<li class="toctree-l3"><a class="reference internal" href="getting_started/tools-build.html#building-and-using-the-fip-tool">3.1. Building and using the FIP tool</a></li>
105<li class="toctree-l3"><a class="reference internal" href="getting_started/tools-build.html#building-the-certificate-generation-tool">3.2. Building the Certificate Generation Tool</a><ul>
106<li class="toctree-l4"><a class="reference internal" href="getting_started/tools-build.html#building-the-firmware-encryption-tool">3.2.1. Building the Firmware Encryption Tool</a></li>
107</ul>
108</li>
109</ul>
110</li>
111<li class="toctree-l2"><a class="reference internal" href="getting_started/initial-build.html">4. Performing an Initial Build</a></li>
112<li class="toctree-l2"><a class="reference internal" href="getting_started/build-options.html">5. Build Options</a><ul>
113<li class="toctree-l3"><a class="reference internal" href="getting_started/build-options.html#common-build-options">5.1. Common build options</a></li>
114<li class="toctree-l3"><a class="reference internal" href="getting_started/build-options.html#gicv3-driver-options">5.2. GICv3 driver options</a></li>
115<li class="toctree-l3"><a class="reference internal" href="getting_started/build-options.html#debugging-options">5.3. Debugging options</a></li>
116<li class="toctree-l3"><a class="reference internal" href="getting_started/build-options.html#firmware-update-options">5.4. Firmware update options</a></li>
117</ul>
118</li>
119<li class="toctree-l2"><a class="reference internal" href="getting_started/image-terminology.html">6. Image Terminology</a><ul>
120<li class="toctree-l3"><a class="reference internal" href="getting_started/image-terminology.html#general-notes">6.1. General Notes</a></li>
121<li class="toctree-l3"><a class="reference internal" href="getting_started/image-terminology.html#trusted-firmware-images">6.2. Trusted Firmware Images</a><ul>
122<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#ap-boot-rom-ap-bl1">6.2.1. AP Boot ROM: <code class="docutils literal notranslate"><span class="pre">AP_BL1</span></code></a></li>
123<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#ap-ram-firmware-ap-bl2">6.2.2. AP RAM Firmware: <code class="docutils literal notranslate"><span class="pre">AP_BL2</span></code></a></li>
124<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#el3-runtime-firmware-ap-bl31">6.2.3. EL3 Runtime Firmware: <code class="docutils literal notranslate"><span class="pre">AP_BL31</span></code></a></li>
125<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#secure-el1-payload-sp-ap-bl32">6.2.4. Secure-EL1 Payload (SP): <code class="docutils literal notranslate"><span class="pre">AP_BL32</span></code></a></li>
126<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#ap-normal-world-firmware-ap-bl33">6.2.5. AP Normal World Firmware: <code class="docutils literal notranslate"><span class="pre">AP_BL33</span></code></a></li>
127<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#other-ap-3rd-level-images-ap-bl3-xxx">6.2.6. Other AP 3rd level images: <code class="docutils literal notranslate"><span class="pre">AP_BL3_XXX</span></code></a></li>
128<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#realm-monitor-management-firmware-rmm">6.2.7. Realm Monitor Management Firmware: <code class="docutils literal notranslate"><span class="pre">RMM</span></code></a></li>
129<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#scp-boot-rom-scp-bl1-previously-bl0">6.2.8. SCP Boot ROM: <code class="docutils literal notranslate"><span class="pre">SCP_BL1</span></code> (previously <code class="docutils literal notranslate"><span class="pre">BL0</span></code>)</a></li>
130<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#scp-ram-firmware-scp-bl2-previously-bl3-0">6.2.9. SCP RAM Firmware: <code class="docutils literal notranslate"><span class="pre">SCP_BL2</span></code> (previously <code class="docutils literal notranslate"><span class="pre">BL3-0</span></code>)</a></li>
131</ul>
132</li>
133<li class="toctree-l3"><a class="reference internal" href="getting_started/image-terminology.html#firmware-update-fwu-images">6.3. Firmware Update (FWU) Images</a><ul>
134<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#ap-firmware-update-boot-rom-ap-ns-bl1u">6.3.1. AP Firmware Update Boot ROM: <code class="docutils literal notranslate"><span class="pre">AP_NS_BL1U</span></code></a></li>
135<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#ap-firmware-update-config-ap-bl2u">6.3.2. AP Firmware Update Config: <code class="docutils literal notranslate"><span class="pre">AP_BL2U</span></code></a></li>
136<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#scp-firmware-update-config-scp-bl2u-previously-bl2-u0">6.3.3. SCP Firmware Update Config: <code class="docutils literal notranslate"><span class="pre">SCP_BL2U</span></code> (previously <code class="docutils literal notranslate"><span class="pre">BL2-U0</span></code>)</a></li>
137<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#ap-firmware-updater-ap-ns-bl2u-previously-bl3-u">6.3.4. AP Firmware Updater: <code class="docutils literal notranslate"><span class="pre">AP_NS_BL2U</span></code> (previously <code class="docutils literal notranslate"><span class="pre">BL3-U</span></code>)</a></li>
138</ul>
139</li>
140<li class="toctree-l3"><a class="reference internal" href="getting_started/image-terminology.html#other-processor-firmware-images">6.4. Other Processor Firmware Images</a><ul>
141<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#mcp-boot-rom-mcp-bl1">6.4.1. MCP Boot ROM: <code class="docutils literal notranslate"><span class="pre">MCP_BL1</span></code></a></li>
142<li class="toctree-l4"><a class="reference internal" href="getting_started/image-terminology.html#mcp-ram-firmware-mcp-bl2">6.4.2. MCP RAM Firmware: <code class="docutils literal notranslate"><span class="pre">MCP_BL2</span></code></a></li>
143</ul>
144</li>
145</ul>
146</li>
147<li class="toctree-l2"><a class="reference internal" href="getting_started/porting-guide.html">7. Porting Guide</a><ul>
148<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#introduction">7.1. Introduction</a></li>
149<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#common-modifications">7.2. Common modifications</a></li>
150<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#common-mandatory-modifications">7.3. Common mandatory modifications</a><ul>
151<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#file-platform-def-h-mandatory">7.3.1. File : platform_def.h [mandatory]</a></li>
152<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#file-plat-macros-s-mandatory">7.3.2. File : plat_macros.S [mandatory]</a></li>
153</ul>
154</li>
155<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#handling-reset">7.4. Handling Reset</a><ul>
156<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-my-entrypoint-mandatory-when-programmable-reset-address-0">7.4.1. Function : plat_get_my_entrypoint() [mandatory when PROGRAMMABLE_RESET_ADDRESS == 0]</a></li>
157<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-secondary-cold-boot-setup-mandatory-when-cold-boot-single-cpu-0">7.4.2. Function : plat_secondary_cold_boot_setup() [mandatory when COLD_BOOT_SINGLE_CPU == 0]</a></li>
158<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-is-my-cpu-primary-mandatory-when-cold-boot-single-cpu-0">7.4.3. Function : plat_is_my_cpu_primary() [mandatory when COLD_BOOT_SINGLE_CPU == 0]</a></li>
159<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-platform-mem-init-mandatory">7.4.4. Function : platform_mem_init() [mandatory]</a></li>
160<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-rotpk-info">7.4.5. Function: plat_get_rotpk_info()</a></li>
161<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-nv-ctr">7.4.6. Function: plat_get_nv_ctr()</a></li>
162<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-set-nv-ctr">7.4.7. Function: plat_set_nv_ctr()</a></li>
163<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-set-nv-ctr2">7.4.8. Function: plat_set_nv_ctr2()</a></li>
164</ul>
165</li>
166<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#common-mandatory-function-modifications">7.5. Common mandatory function modifications</a><ul>
167<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-my-core-pos">7.5.1. Function : plat_my_core_pos()</a></li>
168<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-core-pos-by-mpidr">7.5.2. Function : plat_core_pos_by_mpidr()</a></li>
169<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-mbedtls-heap-when-trusted-board-boot-1">7.5.3. Function : plat_get_mbedtls_heap() [when TRUSTED_BOARD_BOOT == 1]</a></li>
170<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-enc-key-info-when-fw-enc-status-0-or-1">7.5.4. Function : plat_get_enc_key_info() [when FW_ENC_STATUS == 0 or 1]</a></li>
171<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-fwu-set-images-source-when-psa-fwu-support-1">7.5.5. Function : plat_fwu_set_images_source() [when PSA_FWU_SUPPORT == 1]</a></li>
172<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-fwu-set-metadata-image-source-when-psa-fwu-support-1">7.5.6. Function : plat_fwu_set_metadata_image_source() [when PSA_FWU_SUPPORT == 1]</a></li>
173</ul>
174</li>
175<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#common-optional-modifications">7.6. Common optional modifications</a><ul>
176<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-set-my-stack">7.6.1. Function : plat_set_my_stack()</a></li>
177<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-my-stack">7.6.2. Function : plat_get_my_stack()</a></li>
178<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-report-exception">7.6.3. Function : plat_report_exception()</a></li>
179<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-reset-handler">7.6.4. Function : plat_reset_handler()</a></li>
180<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-disable-acp">7.6.5. Function : plat_disable_acp()</a></li>
181<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-error-handler">7.6.6. Function : plat_error_handler()</a></li>
182<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-panic-handler">7.6.7. Function : plat_panic_handler()</a></li>
183<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-bl-image-load-info">7.6.8. Function : plat_get_bl_image_load_info()</a></li>
184<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-next-bl-params">7.6.9. Function : plat_get_next_bl_params()</a></li>
185<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-stack-protector-canary">7.6.10. Function : plat_get_stack_protector_canary()</a></li>
186<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-flush-next-bl-params">7.6.11. Function : plat_flush_next_bl_params()</a></li>
187<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-log-get-prefix">7.6.12. Function : plat_log_get_prefix()</a></li>
188<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-soc-version">7.6.13. Function : plat_get_soc_version()</a></li>
189<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-soc-revision">7.6.14. Function : plat_get_soc_revision()</a></li>
190<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-is-smccc-feature-available">7.6.15. Function : plat_is_smccc_feature_available()</a></li>
191<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-mboot-measure-image">7.6.16. Function : plat_mboot_measure_image()</a></li>
192</ul>
193</li>
194<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#modifications-specific-to-a-boot-loader-stage">7.7. Modifications specific to a Boot Loader stage</a></li>
195<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#boot-loader-stage-1-bl1">7.8. Boot Loader Stage 1 (BL1)</a><ul>
196<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-early-platform-setup-mandatory">7.8.1. Function : bl1_early_platform_setup() [mandatory]</a></li>
197<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-arch-setup-mandatory">7.8.2. Function : bl1_plat_arch_setup() [mandatory]</a></li>
198<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-platform-setup-mandatory">7.8.3. Function : bl1_platform_setup() [mandatory]</a></li>
199<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-sec-mem-layout-mandatory">7.8.4. Function : bl1_plat_sec_mem_layout() [mandatory]</a></li>
200<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-prepare-exit-optional">7.8.5. Function : bl1_plat_prepare_exit() [optional]</a></li>
201<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-set-ep-info-optional">7.8.6. Function : bl1_plat_set_ep_info() [optional]</a></li>
202<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-get-next-image-id-optional">7.8.7. Function : bl1_plat_get_next_image_id() [optional]</a></li>
203<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-get-image-desc-optional">7.8.8. Function : bl1_plat_get_image_desc() [optional]</a></li>
204<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-handle-pre-image-load-optional">7.8.9. Function : bl1_plat_handle_pre_image_load() [optional]</a></li>
205<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-handle-post-image-load-optional">7.8.10. Function : bl1_plat_handle_post_image_load() [optional]</a></li>
206<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-fwu-done-optional">7.8.11. Function : bl1_plat_fwu_done() [optional]</a></li>
207<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-mem-check-mandatory">7.8.12. Function : bl1_plat_mem_check() [mandatory]</a></li>
208<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-mboot-init-optional">7.8.13. Function : bl1_plat_mboot_init() [optional]</a></li>
209<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl1-plat-mboot-finish-optional">7.8.14. Function : bl1_plat_mboot_finish() [optional]</a></li>
210</ul>
211</li>
212<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#boot-loader-stage-2-bl2">7.9. Boot Loader Stage 2 (BL2)</a><ul>
213<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-early-platform-setup2-mandatory">7.9.1. Function : bl2_early_platform_setup2() [mandatory]</a></li>
214<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-plat-arch-setup-mandatory">7.9.2. Function : bl2_plat_arch_setup() [mandatory]</a></li>
215<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-platform-setup-mandatory">7.9.3. Function : bl2_platform_setup() [mandatory]</a></li>
216<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-plat-handle-pre-image-load-optional">7.9.4. Function : bl2_plat_handle_pre_image_load() [optional]</a></li>
217<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-plat-handle-post-image-load-optional">7.9.5. Function : bl2_plat_handle_post_image_load() [optional]</a></li>
218<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-plat-preload-setup-optional">7.9.6. Function : bl2_plat_preload_setup [optional]</a></li>
219<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-try-next-boot-source-optional">7.9.7. Function : plat_try_next_boot_source() [optional]</a></li>
220</ul>
221</li>
222<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#boot-loader-stage-2-bl2-at-el3">7.10. Boot Loader Stage 2 (BL2) at EL3</a><ul>
223<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-el3-early-platform-setup-mandatory">7.10.1. Function : bl2_el3_early_platform_setup() [mandatory]</a></li>
224<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-el3-plat-arch-setup-mandatory">7.10.2. Function : bl2_el3_plat_arch_setup() [mandatory]</a></li>
225<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-el3-plat-prepare-exit-optional">7.10.3. Function : bl2_el3_plat_prepare_exit() [optional]</a></li>
226</ul>
227</li>
228<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#fwu-boot-loader-stage-2-bl2u">7.11. FWU Boot Loader Stage 2 (BL2U)</a><ul>
229<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2u-early-platform-setup-mandatory">7.11.1. Function : bl2u_early_platform_setup() [mandatory]</a></li>
230<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2u-plat-arch-setup-mandatory">7.11.2. Function : bl2u_plat_arch_setup() [mandatory]</a></li>
231<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2u-platform-setup-mandatory">7.11.3. Function : bl2u_platform_setup() [mandatory]</a></li>
232<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2u-plat-handle-scp-bl2u-optional">7.11.4. Function : bl2u_plat_handle_scp_bl2u() [optional]</a></li>
233<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-plat-mboot-init-optional">7.11.5. Function : bl2_plat_mboot_init() [optional]</a></li>
234<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl2-plat-mboot-finish-optional">7.11.6. Function : bl2_plat_mboot_finish() [optional]</a></li>
235</ul>
236</li>
237<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#boot-loader-stage-3-1-bl31">7.12. Boot Loader Stage 3-1 (BL31)</a><ul>
238<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl31-early-platform-setup2-mandatory">7.12.1. Function : bl31_early_platform_setup2() [mandatory]</a></li>
239<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl31-plat-arch-setup-mandatory">7.12.2. Function : bl31_plat_arch_setup() [mandatory]</a></li>
240<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl31-platform-setup-mandatory">7.12.3. Function : bl31_platform_setup() [mandatory]</a></li>
241<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl31-plat-runtime-setup-optional">7.12.4. Function : bl31_plat_runtime_setup() [optional]</a></li>
242<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl31-plat-get-next-image-ep-info-mandatory">7.12.5. Function : bl31_plat_get_next_image_ep_info() [mandatory]</a></li>
243<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-bl31-plat-enable-mmu-optional">7.12.6. Function : bl31_plat_enable_mmu [optional]</a></li>
244<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-init-apkey-optional">7.12.7. Function : plat_init_apkey [optional]</a></li>
245<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-syscnt-freq2-mandatory">7.12.8. Function : plat_get_syscnt_freq2() [mandatory]</a></li>
246<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-arm-set-twedel-scr-el3-optional">7.12.9. Function : plat_arm_set_twedel_scr_el3() [optional]</a></li>
247<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#define-plat-percpu-bakery-lock-size-optional">7.12.10. #define : PLAT_PERCPU_BAKERY_LOCK_SIZE [optional]</a></li>
248<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#sdei-porting-requirements">7.12.11. SDEI porting requirements</a></li>
249<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#trng-porting-requirements">7.12.12. TRNG porting requirements</a></li>
250</ul>
251</li>
252<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#power-state-coordination-interface-in-bl31">7.13. Power State Coordination Interface (in BL31)</a><ul>
253<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-psci-stat-accounting-start-optional">7.13.1. Function : plat_psci_stat_accounting_start() [optional]</a></li>
254<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-psci-stat-accounting-stop-optional">7.13.2. Function : plat_psci_stat_accounting_stop() [optional]</a></li>
255<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-psci-stat-get-residency-optional">7.13.3. Function : plat_psci_stat_get_residency() [optional]</a></li>
256<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-target-pwr-state-optional">7.13.4. Function : plat_get_target_pwr_state() [optional]</a></li>
257<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-get-power-domain-tree-desc-mandatory">7.13.5. Function : plat_get_power_domain_tree_desc() [mandatory]</a></li>
258<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-setup-psci-ops-mandatory">7.13.6. Function : plat_setup_psci_ops() [mandatory]</a></li>
259</ul>
260</li>
261<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#interrupt-management-framework-in-bl31">7.14. Interrupt Management framework (in BL31)</a><ul>
262<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-interrupt-type-to-line-mandatory">7.14.1. Function : plat_interrupt_type_to_line() [mandatory]</a></li>
263<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-ic-get-pending-interrupt-type-mandatory">7.14.2. Function : plat_ic_get_pending_interrupt_type() [mandatory]</a></li>
264<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-ic-get-pending-interrupt-id-mandatory">7.14.3. Function : plat_ic_get_pending_interrupt_id() [mandatory]</a></li>
265<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-ic-acknowledge-interrupt-mandatory">7.14.4. Function : plat_ic_acknowledge_interrupt() [mandatory]</a></li>
266<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-ic-end-of-interrupt-mandatory">7.14.5. Function : plat_ic_end_of_interrupt() [mandatory]</a></li>
267<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-ic-get-interrupt-type-mandatory">7.14.6. Function : plat_ic_get_interrupt_type() [mandatory]</a></li>
268</ul>
269</li>
270<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#crash-reporting-mechanism-in-bl31">7.15. Crash Reporting mechanism (in BL31)</a><ul>
271<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-crash-console-init-mandatory">7.15.1. Function : plat_crash_console_init [mandatory]</a></li>
272<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-crash-console-putc-mandatory">7.15.2. Function : plat_crash_console_putc [mandatory]</a></li>
273<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-crash-console-flush-mandatory">7.15.3. Function : plat_crash_console_flush [mandatory]</a></li>
274</ul>
275</li>
276<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#external-abort-handling-and-ras-support">7.16. External Abort handling and RAS Support</a><ul>
277<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-ea-handler">7.16.1. Function : plat_ea_handler</a></li>
278<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-handle-uncontainable-ea">7.16.2. Function : plat_handle_uncontainable_ea</a></li>
279<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-handle-double-fault">7.16.3. Function : plat_handle_double_fault</a></li>
280<li class="toctree-l4"><a class="reference internal" href="getting_started/porting-guide.html#function-plat-handle-el3-ea">7.16.4. Function : plat_handle_el3_ea</a></li>
281</ul>
282</li>
283<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#build-flags">7.17. Build flags</a></li>
284<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#platform-include-paths">7.18. Platform include paths</a></li>
285<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#c-library">7.19. C Library</a></li>
286<li class="toctree-l3"><a class="reference internal" href="getting_started/porting-guide.html#storage-abstraction-layer">7.20. Storage abstraction layer</a></li>
287</ul>
288</li>
289<li class="toctree-l2"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html">8. PSCI Library Integration guide for Armv8-A AArch32 systems</a><ul>
290<li class="toctree-l3"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#generic-call-sequence-for-psci-library-interface-aarch32">8.1. Generic call sequence for PSCI Library interface (AArch32)</a></li>
291<li class="toctree-l3"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#psci-cpu-context-management">8.2. PSCI CPU context management</a></li>
292<li class="toctree-l3"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#psci-library-interface">8.3. PSCI Library Interface</a><ul>
293<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#interface-psci-setup">8.3.1. Interface : psci_setup()</a></li>
294<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#interface-psci-prepare-next-non-secure-ctx">8.3.2. Interface : psci_prepare_next_non_secure_ctx()</a></li>
295<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#interface-psci-register-spd-pm-hook">8.3.3. Interface : psci_register_spd_pm_hook()</a></li>
296<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#interface-psci-smc-handler">8.3.4. Interface : psci_smc_handler()</a></li>
297<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#interface-psci-warmboot-entrypoint">8.3.5. Interface : psci_warmboot_entrypoint()</a></li>
298</ul>
299</li>
300<li class="toctree-l3"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#el3-runtime-software-dependencies">8.4. EL3 Runtime Software dependencies</a><ul>
301<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#general-dependencies">8.4.1. General dependencies</a></li>
302<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#cpu-context-management-api">8.4.2. CPU Context management API</a></li>
303<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#platform-api">8.4.3. Platform API</a></li>
304<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#secure-payload-power-management-callback">8.4.4. Secure payload power management callback</a></li>
305<li class="toctree-l4"><a class="reference internal" href="getting_started/psci-lib-integration-guide.html#cpu-operations">8.4.5. CPU operations</a></li>
306</ul>
307</li>
308</ul>
309</li>
310<li class="toctree-l2"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html">9. EL3 Runtime Service Writer’s Guide</a><ul>
311<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#introduction">9.1. Introduction</a></li>
312<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#owning-entities-call-types-and-function-ids">9.2. Owning Entities, Call Types and Function IDs</a></li>
313<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#getting-started">9.3. Getting started</a></li>
314<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#registering-a-runtime-service">9.4. Registering a runtime service</a></li>
315<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#initializing-a-runtime-service">9.5. Initializing a runtime service</a></li>
316<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#handling-runtime-service-requests">9.6. Handling runtime service requests</a></li>
317<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#services-that-contain-multiple-sub-services">9.7. Services that contain multiple sub-services</a></li>
318<li class="toctree-l3"><a class="reference internal" href="getting_started/rt-svc-writers-guide.html#secure-el1-payload-dispatcher-service-spd">9.8. Secure-EL1 Payload Dispatcher service (SPD)</a></li>
319</ul>
320</li>
321</ul>
322</li>
323<li class="toctree-l1"><a class="reference internal" href="process/index.html">Processes &amp; Policies</a><ul>
324<li class="toctree-l2"><a class="reference internal" href="process/security.html">1. Security Handling</a><ul>
325<li class="toctree-l3"><a class="reference internal" href="process/security.html#security-disclosures">1.1. Security Disclosures</a></li>
326<li class="toctree-l3"><a class="reference internal" href="process/security.html#found-a-security-issue">1.2. Found a Security Issue?</a></li>
327<li class="toctree-l3"><a class="reference internal" href="process/security.html#attribution">1.3. Attribution</a></li>
328<li class="toctree-l3"><a class="reference internal" href="process/security.html#security-advisories">1.4. Security Advisories</a></li>
329</ul>
330</li>
331<li class="toctree-l2"><a class="reference internal" href="process/platform-compatibility-policy.html">2. Platform Compatibility Policy</a><ul>
332<li class="toctree-l3"><a class="reference internal" href="process/platform-compatibility-policy.html#introduction">2.1. Introduction</a></li>
333<li class="toctree-l3"><a class="reference internal" href="process/platform-compatibility-policy.html#id1">2.2. Platform compatibility policy</a></li>
334</ul>
335</li>
336<li class="toctree-l2"><a class="reference internal" href="process/commit-style.html">3. Commit Style</a><ul>
337<li class="toctree-l3"><a class="reference internal" href="process/commit-style.html#adding-scopes">3.1. Adding Scopes</a></li>
338<li class="toctree-l3"><a class="reference internal" href="process/commit-style.html#mandated-trailers">3.2. Mandated Trailers</a></li>
339</ul>
340</li>
341<li class="toctree-l2"><a class="reference internal" href="process/coding-style.html">4. Coding Style</a><ul>
342<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#file-encoding">4.1. File Encoding</a></li>
343<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#language">4.2. Language</a></li>
344<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#c-language-standard">4.3. C Language Standard</a></li>
345<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#misra-compliance">4.4. MISRA Compliance</a></li>
346<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#indentation">4.5. Indentation</a></li>
347<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#spacing">4.6. Spacing</a></li>
348<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#line-length">4.7. Line Length</a></li>
349<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#blank-lines">4.8. Blank Lines</a></li>
350<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#braces">4.9. Braces</a><ul>
351<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#opening-brace-placement">4.9.1. Opening Brace Placement</a></li>
352<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#conditional-statement-bodies">4.9.2. Conditional Statement Bodies</a></li>
353</ul>
354</li>
355<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#naming">4.10. Naming</a><ul>
356<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#functions">4.10.1. Functions</a></li>
357<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#local-variables-and-parameters">4.10.2. Local Variables and Parameters</a></li>
358<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#preprocessor-macros">4.10.3. Preprocessor Macros</a></li>
359</ul>
360</li>
361<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#function-attributes">4.11. Function Attributes</a></li>
362<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#alignment">4.12. Alignment</a><ul>
363<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#switch-statement-alignment">4.12.1. Switch Statement Alignment</a></li>
364<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#pointer-alignment">4.12.2. Pointer Alignment</a></li>
365</ul>
366</li>
367<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#comments">4.13. Comments</a></li>
368<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#headers-and-inclusion">4.14. Headers and inclusion</a><ul>
369<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#header-guards">4.14.1. Header guards</a></li>
370<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#include-statement-ordering">4.14.2. Include statement ordering</a></li>
371<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#include-statement-variants">4.14.3. Include statement variants</a></li>
372</ul>
373</li>
374<li class="toctree-l3"><a class="reference internal" href="process/coding-style.html#typedefs">4.15. Typedefs</a><ul>
375<li class="toctree-l4"><a class="reference internal" href="process/coding-style.html#avoid-anonymous-typedefs-of-structs-enums-in-headers">4.15.1. Avoid anonymous typedefs of structs/enums in headers</a></li>
376</ul>
377</li>
378</ul>
379</li>
380<li class="toctree-l2"><a class="reference internal" href="process/coding-guidelines.html">5. Coding Guidelines</a><ul>
381<li class="toctree-l3"><a class="reference internal" href="process/coding-guidelines.html#automatic-editor-configuration">5.1. Automatic Editor Configuration</a></li>
382<li class="toctree-l3"><a class="reference internal" href="process/coding-guidelines.html#automatic-compliance-checking">5.2. Automatic Compliance Checking</a><ul>
383<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#ignored-checkpatch-warnings">5.2.1. Ignored Checkpatch Warnings</a></li>
384</ul>
385</li>
386<li class="toctree-l3"><a class="reference internal" href="process/coding-guidelines.html#performance-considerations">5.3. Performance considerations</a><ul>
387<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#avoid-printf-and-use-logging-macros">5.3.1. Avoid printf and use logging macros</a></li>
388<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#use-const-data-where-possible">5.3.2. Use const data where possible</a></li>
389</ul>
390</li>
391<li class="toctree-l3"><a class="reference internal" href="process/coding-guidelines.html#libc-functions-that-are-banned-or-to-be-used-with-caution">5.4. Libc functions that are banned or to be used with caution</a></li>
392<li class="toctree-l3"><a class="reference internal" href="process/coding-guidelines.html#error-handling-and-robustness">5.5. Error handling and robustness</a><ul>
393<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#using-cassert-to-check-for-compile-time-data-errors">5.5.1. Using CASSERT to check for compile time data errors</a></li>
394<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#using-assert-to-check-for-programming-errors">5.5.2. Using assert() to check for programming errors</a></li>
395<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#handling-integration-errors">5.5.3. Handling integration errors</a></li>
396<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#handling-recoverable-errors">5.5.4. Handling recoverable errors</a></li>
397<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#handling-unrecoverable-errors">5.5.5. Handling unrecoverable errors</a></li>
398<li class="toctree-l4"><a class="reference internal" href="process/coding-guidelines.html#handling-critical-unresponsiveness">5.5.6. Handling critical unresponsiveness</a></li>
399</ul>
400</li>
401<li class="toctree-l3"><a class="reference internal" href="process/coding-guidelines.html#use-of-built-in-c-and-libc-data-types">5.6. Use of built-in <em>C</em> and <em>libc</em> data types</a></li>
402<li class="toctree-l3"><a class="reference internal" href="process/coding-guidelines.html#favor-c-language-over-assembly-language">5.7. Favor C language over assembly language</a></li>
403</ul>
404</li>
405<li class="toctree-l2"><a class="reference internal" href="process/contributing.html">6. Contributor’s Guide</a><ul>
406<li class="toctree-l3"><a class="reference internal" href="process/contributing.html#getting-started">6.1. Getting Started</a></li>
407<li class="toctree-l3"><a class="reference internal" href="process/contributing.html#making-changes">6.2. Making Changes</a></li>
408<li class="toctree-l3"><a class="reference internal" href="process/contributing.html#submitting-changes">6.3. Submitting Changes</a></li>
409<li class="toctree-l3"><a class="reference internal" href="process/contributing.html#add-build-configurations">6.4. Add Build Configurations</a></li>
410<li class="toctree-l3"><a class="reference internal" href="process/contributing.html#binary-components">6.5. Binary Components</a></li>
411</ul>
412</li>
413<li class="toctree-l2"><a class="reference internal" href="process/code-review-guidelines.html">7. Code Review Guidelines</a><ul>
414<li class="toctree-l3"><a class="reference internal" href="process/code-review-guidelines.html#why-do-we-do-code-reviews">7.1. Why do we do code reviews?</a></li>
415<li class="toctree-l3"><a class="reference internal" href="process/code-review-guidelines.html#good-practices">7.2. Good practices</a></li>
416<li class="toctree-l3"><a class="reference internal" href="process/code-review-guidelines.html#guidelines-for-patch-contributors">7.3. Guidelines for patch contributors</a></li>
417<li class="toctree-l3"><a class="reference internal" href="process/code-review-guidelines.html#guidelines-for-all-reviewers">7.4. Guidelines for all reviewers</a></li>
418<li class="toctree-l3"><a class="reference internal" href="process/code-review-guidelines.html#guidelines-for-code-owners">7.5. Guidelines for code owners</a></li>
419<li class="toctree-l3"><a class="reference internal" href="process/code-review-guidelines.html#guidelines-for-maintainers">7.6. Guidelines for maintainers</a></li>
420</ul>
421</li>
422<li class="toctree-l2"><a class="reference internal" href="process/faq.html">8. Frequently-Asked Questions (FAQ)</a><ul>
423<li class="toctree-l3"><a class="reference internal" href="process/faq.html#how-do-i-update-my-changes">8.1. How do I update my changes?</a></li>
424<li class="toctree-l3"><a class="reference internal" href="process/faq.html#how-long-will-my-changes-take-to-merge-into-integration">8.2. How long will my changes take to merge into <code class="docutils literal notranslate"><span class="pre">integration</span></code>?</a></li>
425<li class="toctree-l3"><a class="reference internal" href="process/faq.html#how-long-will-it-take-for-my-changes-to-go-from-integration-to-master">8.3. How long will it take for my changes to go from <code class="docutils literal notranslate"><span class="pre">integration</span></code> to <code class="docutils literal notranslate"><span class="pre">master</span></code>?</a></li>
426<li class="toctree-l3"><a class="reference internal" href="process/faq.html#what-are-these-strange-comments-in-my-changes">8.4. What are these strange comments in my changes?</a></li>
427</ul>
428</li>
429<li class="toctree-l2"><a class="reference internal" href="process/security-hardening.html">9. Secure Development Guidelines</a><ul>
430<li class="toctree-l3"><a class="reference internal" href="process/security-hardening.html#security-considerations">9.1. Security considerations</a><ul>
431<li class="toctree-l4"><a class="reference internal" href="process/security-hardening.html#do-not-leak-secrets-to-the-normal-world">9.1.1. Do not leak secrets to the normal world</a></li>
432<li class="toctree-l4"><a class="reference internal" href="process/security-hardening.html#handling-denial-of-service-attacks">9.1.2. Handling Denial of Service attacks</a></li>
433<li class="toctree-l4"><a class="reference internal" href="process/security-hardening.html#preventing-secure-world-timing-information-leakage-via-pmu-counters">9.1.3. Preventing Secure-world timing information leakage via PMU counters</a></li>
434</ul>
435</li>
436<li class="toctree-l3"><a class="reference internal" href="process/security-hardening.html#build-options">9.2. Build options</a></li>
437</ul>
438</li>
439</ul>
440</li>
441<li class="toctree-l1"><a class="reference internal" href="components/index.html">Components</a><ul>
442<li class="toctree-l2"><a class="reference internal" href="components/spd/index.html">1. Secure Payload Dispatcher (SPD)</a><ul>
443<li class="toctree-l3"><a class="reference internal" href="components/spd/optee-dispatcher.html">1.1. OP-TEE Dispatcher</a></li>
444<li class="toctree-l3"><a class="reference internal" href="components/spd/tlk-dispatcher.html">1.2. Trusted Little Kernel (TLK) Dispatcher</a><ul>
445<li class="toctree-l4"><a class="reference internal" href="components/spd/tlk-dispatcher.html#trusted-little-kernel-tlk">1.2.1. Trusted Little Kernel (TLK)</a></li>
446<li class="toctree-l4"><a class="reference internal" href="components/spd/tlk-dispatcher.html#build-tlk">1.2.2. Build TLK</a></li>
447<li class="toctree-l4"><a class="reference internal" href="components/spd/tlk-dispatcher.html#input-parameters-to-tlk">1.2.3. Input parameters to TLK</a></li>
448</ul>
449</li>
450<li class="toctree-l3"><a class="reference internal" href="components/spd/trusty-dispatcher.html">1.3. Trusty Dispatcher</a><ul>
451<li class="toctree-l4"><a class="reference internal" href="components/spd/trusty-dispatcher.html#boot-parameters">1.3.1. Boot parameters</a></li>
452<li class="toctree-l4"><a class="reference internal" href="components/spd/trusty-dispatcher.html#supported-platforms">1.3.2. Supported platforms</a></li>
453</ul>
454</li>
455</ul>
456</li>
457<li class="toctree-l2"><a class="reference internal" href="components/activity-monitors.html">2. Activity Monitors</a><ul>
458<li class="toctree-l3"><a class="reference internal" href="components/activity-monitors.html#auxiliary-counters">2.1. Auxiliary counters</a></li>
459</ul>
460</li>
461<li class="toctree-l2"><a class="reference internal" href="components/arm-sip-service.html">3. Arm SiP Services</a><ul>
462<li class="toctree-l3"><a class="reference internal" href="components/arm-sip-service.html#performance-measurement-framework-pmf">3.1. Performance Measurement Framework (PMF)</a></li>
463<li class="toctree-l3"><a class="reference internal" href="components/arm-sip-service.html#execution-state-switching-service">3.2. Execution State Switching service</a><ul>
464<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#arm-sip-svc-exe-state-switch">3.2.1. <code class="docutils literal notranslate"><span class="pre">ARM_SIP_SVC_EXE_STATE_SWITCH</span></code></a></li>
465</ul>
466</li>
467<li class="toctree-l3"><a class="reference internal" href="components/arm-sip-service.html#debugfs-interface">3.3. DebugFS interface</a><ul>
468<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#mount">3.3.1. MOUNT</a></li>
469<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#open">3.3.2. OPEN</a></li>
470<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#close">3.3.3. CLOSE</a></li>
471<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#read">3.3.4. READ</a></li>
472<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#seek">3.3.5. SEEK</a></li>
473<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#bind">3.3.6. BIND</a></li>
474<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#stat">3.3.7. STAT</a></li>
475<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#init">3.3.8. INIT</a></li>
476<li class="toctree-l4"><a class="reference internal" href="components/arm-sip-service.html#version">3.3.9. VERSION</a></li>
477</ul>
478</li>
479</ul>
480</li>
481<li class="toctree-l2"><a class="reference internal" href="components/debugfs-design.html">4. Debug FS</a><ul>
482<li class="toctree-l3"><a class="reference internal" href="components/debugfs-design.html#overview">4.1. Overview</a></li>
483<li class="toctree-l3"><a class="reference internal" href="components/debugfs-design.html#virtual-filesystem">4.2. Virtual filesystem</a><ul>
484<li class="toctree-l4"><a class="reference internal" href="components/debugfs-design.html#namespace">4.2.1. Namespace</a></li>
485<li class="toctree-l4"><a class="reference internal" href="components/debugfs-design.html#p-interface">4.2.2. 9p interface</a></li>
486</ul>
487</li>
488<li class="toctree-l3"><a class="reference internal" href="components/debugfs-design.html#smc-interface">4.3. SMC interface</a></li>
489<li class="toctree-l3"><a class="reference internal" href="components/debugfs-design.html#security-considerations">4.4. Security considerations</a></li>
490<li class="toctree-l3"><a class="reference internal" href="components/debugfs-design.html#limitations">4.5. Limitations</a></li>
491<li class="toctree-l3"><a class="reference internal" href="components/debugfs-design.html#applications">4.6. Applications</a></li>
492</ul>
493</li>
494<li class="toctree-l2"><a class="reference internal" href="components/exception-handling.html">5. Exception Handling Framework</a><ul>
495<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#introduction">5.1. Introduction</a></li>
496<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#the-role-of-exception-handling-framework">5.2. The role of Exception Handling Framework</a></li>
497<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#interrupt-handling">5.3. Interrupt handling</a><ul>
498<li class="toctree-l4"><a class="reference internal" href="components/exception-handling.html#partitioning-priority-levels">5.3.1. Partitioning priority levels</a></li>
499<li class="toctree-l4"><a class="reference internal" href="components/exception-handling.html#programming-priority">5.3.2. Programming priority</a></li>
500</ul>
501</li>
502<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#registering-handler">5.4. Registering handler</a></li>
503<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#interrupt-handling-example">5.5. Interrupt handling example</a></li>
504<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#activating-and-deactivating-priorities">5.6. Activating and Deactivating priorities</a></li>
505<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#transition-of-priority-levels">5.7. Transition of priority levels</a></li>
506<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#effect-on-smc-calls">5.8. Effect on SMC calls</a></li>
507<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#build-time-flow">5.9. Build-time flow</a></li>
508<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#run-time-flow">5.10. Run-time flow</a></li>
509<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#interrupt-prioritisation-considerations">5.11. Interrupt Prioritisation Considerations</a></li>
510<li class="toctree-l3"><a class="reference internal" href="components/exception-handling.html#limitations">5.12. Limitations</a></li>
511</ul>
512</li>
513<li class="toctree-l2"><a class="reference internal" href="components/fconf/index.html">6. Firmware Configuration Framework</a><ul>
514<li class="toctree-l3"><a class="reference internal" href="components/fconf/index.html#introduction">6.1. Introduction</a></li>
515<li class="toctree-l3"><a class="reference internal" href="components/fconf/index.html#accessing-properties">6.2. Accessing properties</a></li>
516<li class="toctree-l3"><a class="reference internal" href="components/fconf/index.html#defining-properties">6.3. Defining properties</a></li>
517<li class="toctree-l3"><a class="reference internal" href="components/fconf/index.html#loading-the-property-device-tree">6.4. Loading the property device tree</a></li>
518<li class="toctree-l3"><a class="reference internal" href="components/fconf/index.html#populating-the-properties">6.5. Populating the properties</a></li>
519<li class="toctree-l3"><a class="reference internal" href="components/fconf/index.html#namespace-guidance">6.6. Namespace guidance</a></li>
520<li class="toctree-l3"><a class="reference internal" href="components/fconf/index.html#properties-binding-information">6.7. Properties binding information</a><ul>
521<li class="toctree-l4"><a class="reference internal" href="components/fconf/fconf_properties.html">6.7.1. DTB binding for FCONF properties</a></li>
522<li class="toctree-l4"><a class="reference internal" href="components/fconf/amu-bindings.html">6.7.2. Activity Monitor Unit (AMU) Bindings</a></li>
523<li class="toctree-l4"><a class="reference internal" href="components/fconf/mpmm-bindings.html">6.7.3. Maximum Power Mitigation Mechanism (MPMM) Bindings</a></li>
524</ul>
525</li>
526</ul>
527</li>
528<li class="toctree-l2"><a class="reference internal" href="components/firmware-update.html">7. Firmware Update (FWU)</a><ul>
529<li class="toctree-l3"><a class="reference internal" href="components/firmware-update.html#introduction">7.1. Introduction</a><ul>
530<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#scope">7.1.1. Scope</a></li>
531</ul>
532</li>
533<li class="toctree-l3"><a class="reference internal" href="components/firmware-update.html#fwu-overview">7.2. FWU Overview</a></li>
534<li class="toctree-l3"><a class="reference internal" href="components/firmware-update.html#image-identification">7.3. Image Identification</a></li>
535<li class="toctree-l3"><a class="reference internal" href="components/firmware-update.html#fwu-state-machine">7.4. FWU State Machine</a></li>
536<li class="toctree-l3"><a class="reference internal" href="components/firmware-update.html#bl1-smc-interface">7.5. BL1 SMC Interface</a><ul>
537<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#bl1-smc-call-count">7.5.1. BL1_SMC_CALL_COUNT</a></li>
538<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#bl1-smc-uid">7.5.2. BL1_SMC_UID</a></li>
539<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#bl1-smc-version">7.5.3. BL1_SMC_VERSION</a></li>
540<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#bl1-smc-run-image">7.5.4. BL1_SMC_RUN_IMAGE</a></li>
541<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#fwu-smc-image-copy">7.5.5. FWU_SMC_IMAGE_COPY</a></li>
542<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#fwu-smc-image-auth">7.5.6. FWU_SMC_IMAGE_AUTH</a></li>
543<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#fwu-smc-image-execute">7.5.7. FWU_SMC_IMAGE_EXECUTE</a></li>
544<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#fwu-smc-image-resume">7.5.8. FWU_SMC_IMAGE_RESUME</a></li>
545<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#fwu-smc-sec-image-done">7.5.9. FWU_SMC_SEC_IMAGE_DONE</a></li>
546<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#fwu-smc-update-done">7.5.10. FWU_SMC_UPDATE_DONE</a></li>
547<li class="toctree-l4"><a class="reference internal" href="components/firmware-update.html#fwu-smc-image-reset">7.5.11. FWU_SMC_IMAGE_RESET</a></li>
548</ul>
549</li>
550</ul>
551</li>
552<li class="toctree-l2"><a class="reference internal" href="components/measured_boot/index.html">8. Measured Boot Driver (MBD)</a><ul>
553<li class="toctree-l3"><a class="reference internal" href="components/measured_boot/index.html#properties-binding-information">8.1. Properties binding information</a><ul>
554<li class="toctree-l4"><a class="reference internal" href="components/measured_boot/event_log.html">8.1.1. DTB binding for Event Log properties</a></li>
555</ul>
556</li>
557</ul>
558</li>
559<li class="toctree-l2"><a class="reference internal" href="components/mpmm.html">9. Maximum Power Mitigation Mechanism (MPMM)</a></li>
560<li class="toctree-l2"><a class="reference internal" href="components/platform-interrupt-controller-API.html">10. Platform Interrupt Controller API</a><ul>
561<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-unsigned-int-plat-ic-get-running-priority-void-optional">10.1. Function: unsigned int plat_ic_get_running_priority(void); [optional]</a></li>
562<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-int-plat-ic-is-spi-unsigned-int-id-optional">10.2. Function: int plat_ic_is_spi(unsigned int id); [optional]</a></li>
563<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-int-plat-ic-is-ppi-unsigned-int-id-optional">10.3. Function: int plat_ic_is_ppi(unsigned int id); [optional]</a></li>
564<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-int-plat-ic-is-sgi-unsigned-int-id-optional">10.4. Function: int plat_ic_is_sgi(unsigned int id); [optional]</a></li>
565<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-unsigned-int-plat-ic-get-interrupt-active-unsigned-int-id-optional">10.5. Function: unsigned int plat_ic_get_interrupt_active(unsigned int id); [optional]</a></li>
566<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-enable-interrupt-unsigned-int-id-optional">10.6. Function: void plat_ic_enable_interrupt(unsigned int id); [optional]</a></li>
567<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-disable-interrupt-unsigned-int-id-optional">10.7. Function: void plat_ic_disable_interrupt(unsigned int id); [optional]</a></li>
568<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-set-interrupt-priority-unsigned-int-id-unsigned-int-priority-optional">10.8. Function: void plat_ic_set_interrupt_priority(unsigned int id, unsigned int priority); [optional]</a></li>
569<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-int-plat-ic-has-interrupt-type-unsigned-int-type-optional">10.9. Function: int plat_ic_has_interrupt_type(unsigned int type); [optional]</a></li>
570<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-set-interrupt-type-unsigned-int-id-unsigned-int-type-optional">10.10. Function: void plat_ic_set_interrupt_type(unsigned int id, unsigned int type); [optional]</a></li>
571<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-raise-el3-sgi-int-sgi-num-u-register-t-target-optional">10.11. Function: void plat_ic_raise_el3_sgi(int sgi_num, u_register_t target); [optional]</a></li>
572<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-set-spi-routing-unsigned-int-id-unsigned-int-routing-mode-u-register-t-mpidr-optional">10.12. Function: void plat_ic_set_spi_routing(unsigned int id, unsigned int routing_mode, u_register_t mpidr); [optional]</a></li>
573<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-set-interrupt-pending-unsigned-int-id-optional">10.13. Function: void plat_ic_set_interrupt_pending(unsigned int id); [optional]</a></li>
574<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-void-plat-ic-clear-interrupt-pending-unsigned-int-id-optional">10.14. Function: void plat_ic_clear_interrupt_pending(unsigned int id); [optional]</a></li>
575<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-unsigned-int-plat-ic-set-priority-mask-unsigned-int-id-optional">10.15. Function: unsigned int plat_ic_set_priority_mask(unsigned int id); [optional]</a></li>
576<li class="toctree-l3"><a class="reference internal" href="components/platform-interrupt-controller-API.html#function-unsigned-int-plat-ic-get-interrupt-id-unsigned-int-raw-optional">10.16. Function: unsigned int plat_ic_get_interrupt_id(unsigned int raw); [optional]</a></li>
577</ul>
578</li>
579<li class="toctree-l2"><a class="reference internal" href="components/ras.html">11. Reliability, Availability, and Serviceability (RAS) Extensions</a><ul>
580<li class="toctree-l3"><a class="reference internal" href="components/ras.html#overview">11.1. Overview</a></li>
581<li class="toctree-l3"><a class="reference internal" href="components/ras.html#platform-apis">11.2. Platform APIs</a></li>
582<li class="toctree-l3"><a class="reference internal" href="components/ras.html#registering-ras-error-records">11.3. Registering RAS error records</a><ul>
583<li class="toctree-l4"><a class="reference internal" href="components/ras.html#standard-error-record-helpers">11.3.1. Standard Error Record helpers</a></li>
584</ul>
585</li>
586<li class="toctree-l3"><a class="reference internal" href="components/ras.html#registering-ras-interrupts">11.4. Registering RAS interrupts</a></li>
587<li class="toctree-l3"><a class="reference internal" href="components/ras.html#double-fault-handling">11.5. Double-fault handling</a></li>
588<li class="toctree-l3"><a class="reference internal" href="components/ras.html#engaging-the-ras-framework">11.6. Engaging the RAS framework</a></li>
589<li class="toctree-l3"><a class="reference internal" href="components/ras.html#interaction-with-exception-handling-framework">11.7. Interaction with Exception Handling Framework</a></li>
590</ul>
591</li>
592<li class="toctree-l2"><a class="reference internal" href="components/romlib-design.html">12. Library at ROM</a><ul>
593<li class="toctree-l3"><a class="reference internal" href="components/romlib-design.html#introduction">12.1. Introduction</a></li>
594<li class="toctree-l3"><a class="reference internal" href="components/romlib-design.html#index-file">12.2. Index file</a></li>
595<li class="toctree-l3"><a class="reference internal" href="components/romlib-design.html#wrapper-functions">12.3. Wrapper functions</a></li>
596<li class="toctree-l3"><a class="reference internal" href="components/romlib-design.html#script">12.4. Script</a></li>
597<li class="toctree-l3"><a class="reference internal" href="components/romlib-design.html#patching-of-functions-in-library-at-rom">12.5. Patching of functions in library at ROM</a></li>
598<li class="toctree-l3"><a class="reference internal" href="components/romlib-design.html#memory-impact">12.6. Memory impact</a></li>
599<li class="toctree-l3"><a class="reference internal" href="components/romlib-design.html#build-library-at-rom">12.7. Build library at ROM</a></li>
600</ul>
601</li>
602<li class="toctree-l2"><a class="reference internal" href="components/sdei.html">13. SDEI: Software Delegated Exception Interface</a><ul>
603<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#introduction">13.1. Introduction</a></li>
604<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#defining-events">13.2. Defining events</a><ul>
605<li class="toctree-l4"><a class="reference internal" href="components/sdei.html#event-flags">13.2.1. Event flags</a></li>
606</ul>
607</li>
608<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#event-definition-example">13.3. Event definition example</a></li>
609<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#configuration-within-exception-handling-framework">13.4. Configuration within Exception Handling Framework</a></li>
610<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#determining-client-el">13.5. Determining client EL</a></li>
611<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#explicit-dispatch-of-events">13.6. Explicit dispatch of events</a><ul>
612<li class="toctree-l4"><a class="reference internal" href="components/sdei.html#conditions-for-event-dispatch">13.6.1. Conditions for event dispatch</a></li>
613</ul>
614</li>
615<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#porting-requirements">13.7. Porting requirements</a></li>
616<li class="toctree-l3"><a class="reference internal" href="components/sdei.html#note-on-writing-sdei-event-handlers">13.8. Note on writing SDEI event handlers</a></li>
617</ul>
618</li>
619<li class="toctree-l2"><a class="reference internal" href="components/secure-partition-manager.html">14. Secure Partition Manager</a><ul>
620<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#acronyms">14.1. Acronyms</a></li>
621<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#foreword">14.2. Foreword</a><ul>
622<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#terminology">14.2.1. Terminology</a></li>
623<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#support-for-legacy-platforms">14.2.2. Support for legacy platforms</a></li>
624</ul>
625</li>
626<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#sample-reference-stack">14.3. Sample reference stack</a></li>
627<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#tf-a-build-options">14.4. TF-A build options</a></li>
628<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#fvp-model-invocation">14.5. FVP model invocation</a></li>
629<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#boot-process">14.6. Boot process</a><ul>
630<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#loading-hafnium-and-secure-partitions-in-the-secure-world">14.6.1. Loading Hafnium and secure partitions in the secure world</a></li>
631<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#booting-through-tf-a">14.6.2. Booting through TF-A</a></li>
632</ul>
633</li>
634<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#hafnium-in-the-secure-world">14.7. Hafnium in the secure world</a><ul>
635<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#general-considerations">14.7.1. General considerations</a></li>
636<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#parsing-sp-partition-manifests">14.7.2. Parsing SP partition manifests</a></li>
637<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#passing-boot-data-to-the-sp">14.7.3. Passing boot data to the SP</a></li>
638<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#sp-boot-order">14.7.4. SP Boot order</a></li>
639<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#boot-phases">14.7.5. Boot phases</a></li>
640<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#notifications">14.7.6. Notifications</a></li>
641<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#mandatory-interfaces">14.7.7. Mandatory interfaces</a></li>
642<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#spmc-spmd-direct-requests-responses">14.7.8. SPMC-SPMD direct requests/responses</a></li>
643<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#pe-mmu-configuration">14.7.9. PE MMU configuration</a></li>
644<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#interrupt-management">14.7.10. Interrupt management</a></li>
645<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#secure-interrupt-handling">14.7.11. Secure interrupt handling</a></li>
646<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#power-management">14.7.12. Power management</a></li>
647</ul>
648</li>
649<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#smmuv3-support-in-hafnium">14.8. SMMUv3 support in Hafnium</a><ul>
650<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#smmuv3-features">14.8.1. SMMUv3 features</a></li>
651<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#smmuv3-programming-interfaces">14.8.2. SMMUv3 Programming Interfaces</a></li>
652<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#peripheral-device-manifest">14.8.3. Peripheral device manifest</a></li>
653<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager.html#smmuv3-driver-limitations">14.8.4. SMMUv3 driver limitations</a></li>
654</ul>
655</li>
656<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#s-el0-partition-support">14.9. S-EL0 Partition support</a></li>
657<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager.html#references">14.10. References</a></li>
658</ul>
659</li>
660<li class="toctree-l2"><a class="reference internal" href="components/secure-partition-manager-mm.html">15. Secure Partition Manager (MM)</a><ul>
661<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager-mm.html#foreword">15.1. Foreword</a></li>
662<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager-mm.html#background">15.2. Background</a></li>
663<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager-mm.html#introduction">15.3. Introduction</a></li>
664<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager-mm.html#description">15.4. Description</a><ul>
665<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#building-tf-a-with-secure-partition-support">15.4.1. Building TF-A with Secure Partition support</a></li>
666<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#describing-secure-partition-resources">15.4.2. Describing Secure Partition resources</a></li>
667<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#accessing-secure-partition-services">15.4.3. Accessing Secure Partition services</a></li>
668<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#exchanging-data-with-the-secure-partition">15.4.4. Exchanging data with the Secure Partition</a></li>
669</ul>
670</li>
671<li class="toctree-l3"><a class="reference internal" href="components/secure-partition-manager-mm.html#runtime-model-of-the-secure-partition">15.5. Runtime model of the Secure Partition</a><ul>
672<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#interface-with-spm">15.5.1. Interface with SPM</a></li>
673<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#miscellaneous-interfaces">15.5.2. Miscellaneous interfaces</a></li>
674<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#secure-partition-initialisation">15.5.3. Secure Partition Initialisation</a></li>
675<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#runtime-event-delegation">15.5.4. Runtime Event Delegation</a></li>
676<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#secure-partition-memory-management">15.5.5. Secure Partition Memory Management</a></li>
677<li class="toctree-l4"><a class="reference internal" href="components/secure-partition-manager-mm.html#error-codes">15.5.6. Error Codes</a></li>
678</ul>
679</li>
680</ul>
681</li>
682<li class="toctree-l2"><a class="reference internal" href="components/ffa-manifest-binding.html">16. FF-A manifest binding to device tree</a><ul>
683<li class="toctree-l3"><a class="reference internal" href="components/ffa-manifest-binding.html#version-1-0">16.1. Version 1.0</a><ul>
684<li class="toctree-l4"><a class="reference internal" href="components/ffa-manifest-binding.html#partition-properties">16.1.1. Partition Properties</a></li>
685</ul>
686</li>
687<li class="toctree-l3"><a class="reference internal" href="components/ffa-manifest-binding.html#memory-regions">16.2. Memory Regions</a></li>
688<li class="toctree-l3"><a class="reference internal" href="components/ffa-manifest-binding.html#device-regions">16.3. Device Regions</a></li>
689</ul>
690</li>
691<li class="toctree-l2"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html">17. Translation (XLAT) Tables Library</a><ul>
692<li class="toctree-l3"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#about-version-1-version-2-and-mpu-libraries">17.1. About version 1, version 2 and MPU libraries</a></li>
693<li class="toctree-l3"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#design-concepts-and-interfaces">17.2. Design concepts and interfaces</a><ul>
694<li class="toctree-l4"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#mmap-regions">17.2.1. <cite>mmap</cite> regions</a></li>
695<li class="toctree-l4"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#translation-context">17.2.2. Translation Context</a></li>
696<li class="toctree-l4"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#static-and-dynamic-memory-regions">17.2.3. Static and dynamic memory regions</a></li>
697</ul>
698</li>
699<li class="toctree-l3"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#library-apis">17.3. Library APIs</a></li>
700<li class="toctree-l3"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#library-limitations">17.4. Library limitations</a></li>
701<li class="toctree-l3"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#implementation-details">17.5. Implementation details</a><ul>
702<li class="toctree-l4"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#code-structure">17.5.1. Code structure</a></li>
703<li class="toctree-l4"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#from-mmap-regions-to-translation-tables">17.5.2. From mmap regions to translation tables</a></li>
704<li class="toctree-l4"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#the-memory-mapping-algorithm">17.5.3. The memory mapping algorithm</a></li>
705<li class="toctree-l4"><a class="reference internal" href="components/xlat-tables-lib-v2-design.html#tlb-maintenance-operations">17.5.4. TLB maintenance operations</a></li>
706</ul>
707</li>
708</ul>
709</li>
710<li class="toctree-l2"><a class="reference internal" href="components/cot-binding.html">18. Chain of trust bindings</a><ul>
711<li class="toctree-l3"><a class="reference internal" href="components/cot-binding.html#cot">18.1. cot</a></li>
712<li class="toctree-l3"><a class="reference internal" href="components/cot-binding.html#manifests-and-certificate-node-bindings-definition">18.2. Manifests and Certificate node bindings definition</a></li>
713<li class="toctree-l3"><a class="reference internal" href="components/cot-binding.html#images-and-image-node-bindings-definition">18.3. Images and Image node bindings definition</a></li>
714<li class="toctree-l3"><a class="reference internal" href="components/cot-binding.html#non-volatile-counter-node-binding-definition">18.4. non-volatile counter node binding definition</a></li>
715<li class="toctree-l3"><a class="reference internal" href="components/cot-binding.html#future-update-to-chain-of-trust-binding">18.5. Future update to chain of trust binding</a></li>
716</ul>
717</li>
718<li class="toctree-l2"><a class="reference internal" href="components/realm-management-extension.html">19. Realm Management Extension (RME)</a><ul>
719<li class="toctree-l3"><a class="reference internal" href="components/realm-management-extension.html#rme-support-in-tf-a">19.1. RME support in TF-A</a><ul>
720<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#changes-to-translation-tables-library">19.1.1. Changes to translation tables library</a></li>
721<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#changes-to-context-management">19.1.2. Changes to context management</a></li>
722<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#boot-flow-changes">19.1.3. Boot flow changes</a></li>
723<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#granule-protection-tables-gpt-library">19.1.4. Granule Protection Tables (GPT) library</a></li>
724<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#rmm-dispatcher-rmmd">19.1.5. RMM Dispatcher (RMMD)</a></li>
725<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#test-realm-payload-trp">19.1.6. Test Realm Payload (TRP)</a></li>
726</ul>
727</li>
728<li class="toctree-l3"><a class="reference internal" href="components/realm-management-extension.html#building-and-running-tf-a-with-rme">19.2. Building and running TF-A with RME</a><ul>
729<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#building-tf-a-with-tf-a-tests">19.2.1. Building TF-A with TF-A Tests</a></li>
730<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#four-world-execution-with-hafnium-and-tf-a-tests">19.2.2. Four-world execution with Hafnium and TF-A Tests</a></li>
731<li class="toctree-l4"><a class="reference internal" href="components/realm-management-extension.html#running-the-tests">19.2.3. Running the tests</a></li>
732</ul>
733</li>
734</ul>
735</li>
736<li class="toctree-l2"><a class="reference internal" href="components/granule-protection-tables-design.html">20. Granule Protection Tables Library</a><ul>
737<li class="toctree-l3"><a class="reference internal" href="components/granule-protection-tables-design.html#design-concepts-and-interfaces">20.1. Design Concepts and Interfaces</a><ul>
738<li class="toctree-l4"><a class="reference internal" href="components/granule-protection-tables-design.html#defining-pas-regions">20.1.1. Defining PAS regions</a></li>
739<li class="toctree-l4"><a class="reference internal" href="components/granule-protection-tables-design.html#level-0-and-level-1-tables">20.1.2. Level 0 and Level 1 Tables</a></li>
740<li class="toctree-l4"><a class="reference internal" href="components/granule-protection-tables-design.html#granule-transition-service">20.1.3. Granule Transition Service</a></li>
741</ul>
742</li>
743<li class="toctree-l3"><a class="reference internal" href="components/granule-protection-tables-design.html#library-apis">20.2. Library APIs</a><ul>
744<li class="toctree-l4"><a class="reference internal" href="components/granule-protection-tables-design.html#api-constraints">20.2.1. API Constraints</a></li>
745<li class="toctree-l4"><a class="reference internal" href="components/granule-protection-tables-design.html#sample-calculation-for-l0-memory-size-and-alignment">20.2.2. Sample Calculation for L0 memory size and alignment</a></li>
746<li class="toctree-l4"><a class="reference internal" href="components/granule-protection-tables-design.html#sample-calculation-for-l1-table-size-and-alignment">20.2.3. Sample calculation for L1 table size and alignment</a></li>
747</ul>
748</li>
749</ul>
750</li>
751</ul>
752</li>
753<li class="toctree-l1"><a class="reference internal" href="design/index.html">System Design</a><ul>
754<li class="toctree-l2"><a class="reference internal" href="design/alt-boot-flows.html">1. Alternative Boot Flows</a><ul>
755<li class="toctree-l3"><a class="reference internal" href="design/alt-boot-flows.html#el3-payloads-alternative-boot-flow">1.1. EL3 payloads alternative boot flow</a><ul>
756<li class="toctree-l4"><a class="reference internal" href="design/alt-boot-flows.html#booting-an-el3-payload">1.1.1. Booting an EL3 payload</a></li>
757</ul>
758</li>
759<li class="toctree-l3"><a class="reference internal" href="design/alt-boot-flows.html#preloaded-bl33-alternative-boot-flow">1.2. Preloaded BL33 alternative boot flow</a></li>
760</ul>
761</li>
762<li class="toctree-l2"><a class="reference internal" href="design/auth-framework.html">2. Authentication Framework &amp; Chain of Trust</a><ul>
763<li class="toctree-l3"><a class="reference internal" href="design/auth-framework.html#framework-design">2.1. Framework design</a><ul>
764<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#chain-of-trust">2.1.1. Chain of Trust</a></li>
765<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#image-types">2.1.2. Image types</a></li>
766<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#component-responsibilities">2.1.3. Component responsibilities</a></li>
767<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#authentication-methods">2.1.4. Authentication methods</a></li>
768</ul>
769</li>
770<li class="toctree-l3"><a class="reference internal" href="design/auth-framework.html#specifying-a-chain-of-trust">2.2. Specifying a Chain of Trust</a><ul>
771<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#describing-the-image-parsing-methods">2.2.1. Describing the image parsing methods</a></li>
772<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#describing-the-authentication-method-s">2.2.2. Describing the authentication method(s)</a></li>
773<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#storing-authentication-parameters">2.2.3. Storing Authentication parameters</a></li>
774<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#describing-an-image-in-a-cot">2.2.4. Describing an image in a CoT</a></li>
775</ul>
776</li>
777<li class="toctree-l3"><a class="reference internal" href="design/auth-framework.html#implementation-example">2.3. Implementation example</a><ul>
778<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#the-tbbr-cot">2.3.1. The TBBR CoT</a></li>
779<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#the-image-parser-library">2.3.2. The image parser library</a></li>
780<li class="toctree-l4"><a class="reference internal" href="design/auth-framework.html#the-cryptographic-library">2.3.3. The cryptographic library</a></li>
781</ul>
782</li>
783</ul>
784</li>
785<li class="toctree-l2"><a class="reference internal" href="design/cpu-specific-build-macros.html">3. Arm CPU Specific Build Macros</a><ul>
786<li class="toctree-l3"><a class="reference internal" href="design/cpu-specific-build-macros.html#security-vulnerability-workarounds">3.1. Security Vulnerability Workarounds</a></li>
787<li class="toctree-l3"><a class="reference internal" href="design/cpu-specific-build-macros.html#cpu-errata-workarounds">3.2. CPU Errata Workarounds</a></li>
788<li class="toctree-l3"><a class="reference internal" href="design/cpu-specific-build-macros.html#dsu-errata-workarounds">3.3. DSU Errata Workarounds</a></li>
789<li class="toctree-l3"><a class="reference internal" href="design/cpu-specific-build-macros.html#cpu-specific-optimizations">3.4. CPU Specific optimizations</a></li>
790</ul>
791</li>
792<li class="toctree-l2"><a class="reference internal" href="design/firmware-design.html">4. Firmware Design</a><ul>
793<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#cold-boot">4.1. Cold boot</a><ul>
794<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#dynamic-configuration-during-cold-boot">4.1.1. Dynamic Configuration during cold boot</a></li>
795<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#bl1">4.1.2. BL1</a></li>
796<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#bl2">4.1.3. BL2</a></li>
797<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#running-bl2-at-el3-execution-level">4.1.4. Running BL2 at EL3 execution level</a></li>
798<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#aarch64-bl31">4.1.5. AArch64 BL31</a></li>
799<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#using-alternative-trusted-boot-firmware-in-place-of-bl1-bl2-aarch64-only">4.1.6. Using alternative Trusted Boot Firmware in place of BL1 &amp; BL2 (AArch64 only)</a></li>
800<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#aarch32-el3-runtime-software-entrypoint-interface">4.1.7. AArch32 EL3 Runtime Software entrypoint interface</a></li>
801</ul>
802</li>
803<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#el3-runtime-services-framework">4.2. EL3 runtime services framework</a><ul>
804<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#registration">4.2.1. Registration</a></li>
805<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#initialization">4.2.2. Initialization</a></li>
806<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#handling-an-smc">4.2.3. Handling an SMC</a></li>
807</ul>
808</li>
809<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#exception-handling-framework">4.3. Exception Handling Framework</a></li>
810<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#power-state-coordination-interface">4.4. Power State Coordination Interface</a></li>
811<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#secure-el1-payloads-and-dispatchers">4.5. Secure-EL1 Payloads and Dispatchers</a><ul>
812<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#initializing-a-bl32-image">4.5.1. Initializing a BL32 Image</a></li>
813</ul>
814</li>
815<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#crash-reporting-in-bl31">4.6. Crash Reporting in BL31</a></li>
816<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#guidelines-for-reset-handlers">4.7. Guidelines for Reset Handlers</a></li>
817<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#configuring-secure-interrupts">4.8. Configuring secure interrupts</a></li>
818<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#cpu-specific-operations-framework">4.9. CPU specific operations framework</a><ul>
819<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#cpu-specific-reset-handling">4.9.1. CPU specific Reset Handling</a></li>
820<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#cpu-specific-power-down-sequence">4.9.2. CPU specific power down sequence</a></li>
821<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#cpu-specific-register-reporting-during-crash">4.9.3. CPU specific register reporting during crash</a></li>
822<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#cpu-errata-status-reporting">4.9.4. CPU errata status reporting</a></li>
823</ul>
824</li>
825<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#memory-layout-of-bl-images">4.10. Memory layout of BL images</a><ul>
826<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#linker-scripts-and-symbols">4.10.1. Linker scripts and symbols</a></li>
827<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#how-to-choose-the-right-base-addresses-for-each-bootloader-stage-image">4.10.2. How to choose the right base addresses for each bootloader stage image</a></li>
828</ul>
829</li>
830<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#firmware-image-package-fip">4.11. Firmware Image Package (FIP)</a><ul>
831<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#firmware-image-package-layout">4.11.1. Firmware Image Package layout</a></li>
832<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#firmware-image-package-creation-tool">4.11.2. Firmware Image Package creation tool</a></li>
833<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#loading-from-a-firmware-image-package-fip">4.11.3. Loading from a Firmware Image Package (FIP)</a></li>
834</ul>
835</li>
836<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#use-of-coherent-memory-in-tf-a">4.12. Use of coherent memory in TF-A</a><ul>
837<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#disabling-the-use-of-coherent-memory-in-tf-a">4.12.1. Disabling the use of coherent memory in TF-A</a></li>
838<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#coherent-memory-usage-in-psci-implementation">4.12.2. Coherent memory usage in PSCI implementation</a></li>
839<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#bakery-lock-data">4.12.3. Bakery lock data</a></li>
840<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#non-functional-impact-of-removing-coherent-memory">4.12.4. Non Functional Impact of removing coherent memory</a></li>
841</ul>
842</li>
843<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#isolating-code-and-read-only-data-on-separate-memory-pages">4.13. Isolating code and read-only data on separate memory pages</a></li>
844<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#publish-and-subscribe-framework">4.14. Publish and Subscribe Framework</a><ul>
845<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#publish-and-subscribe-example">4.14.1. Publish and Subscribe Example</a></li>
846<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#reclaiming-the-bl31-initialization-code">4.14.2. Reclaiming the BL31 initialization code</a></li>
847</ul>
848</li>
849<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#performance-measurement-framework">4.15. Performance Measurement Framework</a><ul>
850<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#timestamp-identifier-format">4.15.1. Timestamp identifier format</a></li>
851<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#registering-a-pmf-service">4.15.2. Registering a PMF service</a></li>
852<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#capturing-a-timestamp">4.15.3. Capturing a timestamp</a></li>
853<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#retrieving-a-timestamp">4.15.4. Retrieving a timestamp</a></li>
854<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#pmf-code-structure">4.15.5. PMF code structure</a></li>
855</ul>
856</li>
857<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#armv8-a-architecture-extensions">4.16. Armv8-A Architecture Extensions</a><ul>
858<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#armv8-1-a">4.16.1. Armv8.1-A</a></li>
859<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#armv8-2-a">4.16.2. Armv8.2-A</a></li>
860<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#armv8-3-a">4.16.3. Armv8.3-A</a></li>
861<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#armv8-5-a">4.16.4. Armv8.5-A</a></li>
862<li class="toctree-l4"><a class="reference internal" href="design/firmware-design.html#armv7-a">4.16.5. Armv7-A</a></li>
863</ul>
864</li>
865<li class="toctree-l3"><a class="reference internal" href="design/firmware-design.html#code-structure">4.17. Code Structure</a></li>
866</ul>
867</li>
868<li class="toctree-l2"><a class="reference internal" href="design/interrupt-framework-design.html">5. Interrupt Management Framework</a><ul>
869<li class="toctree-l3"><a class="reference internal" href="design/interrupt-framework-design.html#concepts">5.1. Concepts</a><ul>
870<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#interrupt-types">5.1.1. Interrupt types</a></li>
871<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#routing-model">5.1.2. Routing model</a></li>
872<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#valid-routing-models">5.1.3. Valid routing models</a></li>
873<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#mapping-of-interrupt-type-to-signal">5.1.4. Mapping of interrupt type to signal</a></li>
874</ul>
875</li>
876<li class="toctree-l3"><a class="reference internal" href="design/interrupt-framework-design.html#assumptions-in-interrupt-management-framework">5.2. Assumptions in Interrupt Management Framework</a></li>
877<li class="toctree-l3"><a class="reference internal" href="design/interrupt-framework-design.html#software-components">5.3. Software components</a></li>
878<li class="toctree-l3"><a class="reference internal" href="design/interrupt-framework-design.html#interrupt-registration">5.4. Interrupt registration</a><ul>
879<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#el3-runtime-firmware">5.4.1. EL3 runtime firmware</a></li>
880<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#secure-payload-dispatcher">5.4.2. Secure payload dispatcher</a></li>
881<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#test-secure-payload-dispatcher-behavior">5.4.3. Test secure payload dispatcher behavior</a></li>
882<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#secure-payload">5.4.4. Secure payload</a></li>
883<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#test-secure-payload-behavior">5.4.5. Test secure payload behavior</a></li>
884</ul>
885</li>
886<li class="toctree-l3"><a class="reference internal" href="design/interrupt-framework-design.html#interrupt-handling">5.5. Interrupt handling</a><ul>
887<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#id4">5.5.1. EL3 runtime firmware</a></li>
888<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#id5">5.5.2. Secure payload dispatcher</a></li>
889<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#secure-payload-interrupt-handling">5.5.3. Secure payload interrupt handling</a></li>
890</ul>
891</li>
892<li class="toctree-l3"><a class="reference internal" href="design/interrupt-framework-design.html#other-considerations">5.6. Other considerations</a><ul>
893<li class="toctree-l4"><a class="reference internal" href="design/interrupt-framework-design.html#implication-of-preempted-smc-on-non-secure-software">5.6.1. Implication of preempted SMC on Non-Secure Software</a></li>
894</ul>
895</li>
896</ul>
897</li>
898<li class="toctree-l2"><a class="reference internal" href="design/psci-pd-tree.html">6. PSCI Power Domain Tree Structure</a><ul>
899<li class="toctree-l3"><a class="reference internal" href="design/psci-pd-tree.html#requirements">6.1. Requirements</a></li>
900<li class="toctree-l3"><a class="reference internal" href="design/psci-pd-tree.html#design">6.2. Design</a><ul>
901<li class="toctree-l4"><a class="reference internal" href="design/psci-pd-tree.html#describing-a-power-domain-tree">6.2.1. Describing a power domain tree</a></li>
902<li class="toctree-l4"><a class="reference internal" href="design/psci-pd-tree.html#removing-assumptions-about-mpidrs-used-in-a-platform">6.2.2. Removing assumptions about MPIDRs used in a platform</a></li>
903<li class="toctree-l4"><a class="reference internal" href="design/psci-pd-tree.html#traversing-through-and-distinguishing-between-core-and-non-core-power-domains">6.2.3. Traversing through and distinguishing between core and non-core power domains</a></li>
904<li class="toctree-l4"><a class="reference internal" href="design/psci-pd-tree.html#populating-the-power-domain-tree">6.2.4. Populating the power domain tree</a></li>
905</ul>
906</li>
907</ul>
908</li>
909<li class="toctree-l2"><a class="reference internal" href="design/reset-design.html">7. CPU Reset</a><ul>
910<li class="toctree-l3"><a class="reference internal" href="design/reset-design.html#general-reset-code-flow">7.1. General reset code flow</a></li>
911<li class="toctree-l3"><a class="reference internal" href="design/reset-design.html#programmable-cpu-reset-address">7.2. Programmable CPU reset address</a></li>
912<li class="toctree-l3"><a class="reference internal" href="design/reset-design.html#cold-boot-on-a-single-cpu">7.3. Cold boot on a single CPU</a></li>
913<li class="toctree-l3"><a class="reference internal" href="design/reset-design.html#programmable-cpu-reset-address-cold-boot-on-a-single-cpu">7.4. Programmable CPU reset address, Cold boot on a single CPU</a></li>
914<li class="toctree-l3"><a class="reference internal" href="design/reset-design.html#using-bl31-entrypoint-as-the-reset-address">7.5. Using BL31 entrypoint as the reset address</a><ul>
915<li class="toctree-l4"><a class="reference internal" href="design/reset-design.html#determination-of-boot-path">7.5.1. Determination of boot path</a></li>
916<li class="toctree-l4"><a class="reference internal" href="design/reset-design.html#platform-initialization">7.5.2. Platform initialization</a></li>
917</ul>
918</li>
919</ul>
920</li>
921<li class="toctree-l2"><a class="reference internal" href="design/trusted-board-boot.html">8. Trusted Board Boot</a><ul>
922<li class="toctree-l3"><a class="reference internal" href="design/trusted-board-boot.html#chain-of-trust">8.1. Chain of Trust</a></li>
923<li class="toctree-l3"><a class="reference internal" href="design/trusted-board-boot.html#trusted-board-boot-sequence">8.2. Trusted Board Boot Sequence</a></li>
924<li class="toctree-l3"><a class="reference internal" href="design/trusted-board-boot.html#authentication-framework">8.3. Authentication Framework</a></li>
925<li class="toctree-l3"><a class="reference internal" href="design/trusted-board-boot.html#certificate-generation-tool">8.4. Certificate Generation Tool</a></li>
926<li class="toctree-l3"><a class="reference internal" href="design/trusted-board-boot.html#authenticated-encryption-framework">8.5. Authenticated Encryption Framework</a></li>
927<li class="toctree-l3"><a class="reference internal" href="design/trusted-board-boot.html#firmware-encryption-tool">8.6. Firmware Encryption Tool</a></li>
928</ul>
929</li>
930<li class="toctree-l2"><a class="reference internal" href="design/trusted-board-boot-build.html">9. Building FIP images with support for Trusted Board Boot</a></li>
931</ul>
932</li>
933<li class="toctree-l1"><a class="reference internal" href="plat/index.html">Platform Ports</a><ul>
934<li class="toctree-l2"><a class="reference internal" href="plat/allwinner.html">1. Allwinner ARMv8 SoCs</a><ul>
935<li class="toctree-l3"><a class="reference internal" href="plat/allwinner.html#building-tf-a">1.1. Building TF-A</a></li>
936<li class="toctree-l3"><a class="reference internal" href="plat/allwinner.html#installation">1.2. Installation</a></li>
937<li class="toctree-l3"><a class="reference internal" href="plat/allwinner.html#memory-layout">1.3. Memory layout</a><ul>
938<li class="toctree-l4"><a class="reference internal" href="plat/allwinner.html#a64-h5-and-h6-socs">1.3.1. A64, H5 and H6 SoCs</a></li>
939<li class="toctree-l4"><a class="reference internal" href="plat/allwinner.html#h616-soc">1.3.2. H616 SoC</a></li>
940</ul>
941</li>
942<li class="toctree-l3"><a class="reference internal" href="plat/allwinner.html#trusted-os-dispatcher">1.4. Trusted OS dispatcher</a></li>
943</ul>
944</li>
945<li class="toctree-l2"><a class="reference internal" href="plat/arm/index.html">2. Arm Development Platforms</a><ul>
946<li class="toctree-l3"><a class="reference internal" href="plat/arm/juno/index.html">2.1. Arm Juno Development Platform</a><ul>
947<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#platform-specific-build-options">2.1.1. Platform-specific build options</a></li>
948<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#running-software-on-juno">2.1.2. Running software on Juno</a></li>
949<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#preparing-tf-a-images">2.1.3. Preparing TF-A images</a></li>
950<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#booting-firmware-update-images">2.1.4. Booting Firmware Update images</a></li>
951<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#booting-an-el3-payload">2.1.5. Booting an EL3 payload</a></li>
952<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#booting-a-preloaded-kernel-image">2.1.6. Booting a preloaded kernel image</a></li>
953<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#testing-system-suspend">2.1.7. Testing System Suspend</a></li>
954<li class="toctree-l4"><a class="reference internal" href="plat/arm/juno/index.html#additional-resources">2.1.8. Additional Resources</a></li>
955</ul>
956</li>
957<li class="toctree-l3"><a class="reference internal" href="plat/arm/fvp/index.html">2.2. Arm Fixed Virtual Platforms (FVP)</a><ul>
958<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp/index.html#fixed-virtual-platform-fvp-support">2.2.1. Fixed Virtual Platform (FVP) Support</a></li>
959<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp/index.html#arm-fvp-platform-specific-build-options">2.2.2. Arm FVP Platform Specific Build Options</a></li>
960<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp/index.html#booting-firmware-update-images">2.2.3. Booting Firmware Update images</a></li>
961<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp/index.html#booting-an-el3-payload">2.2.4. Booting an EL3 payload</a></li>
962<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp/index.html#booting-a-preloaded-kernel-image-base-fvp">2.2.5. Booting a preloaded kernel image (Base FVP)</a></li>
963</ul>
964</li>
965<li class="toctree-l3"><a class="reference internal" href="plat/arm/fvp_r/index.html">2.3. ARM V8-R64 Fixed Virtual Platform (FVP)</a><ul>
966<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp_r/index.html#boot-sequence">2.3.1. Boot Sequence</a></li>
967</ul>
968</li>
969<li class="toctree-l3"><a class="reference internal" href="plat/arm/fvp-ve/index.html">2.4. Arm Versatile Express</a><ul>
970<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp-ve/index.html#boot-sequence">2.4.1. Boot Sequence</a></li>
971<li class="toctree-l4"><a class="reference internal" href="plat/arm/fvp-ve/index.html#how-to-build">2.4.2. How to build</a></li>
972</ul>
973</li>
974<li class="toctree-l3"><a class="reference internal" href="plat/arm/tc/index.html">2.5. TC Total Compute Platform</a><ul>
975<li class="toctree-l4"><a class="reference internal" href="plat/arm/tc/index.html#boot-sequence">2.5.1. Boot Sequence</a></li>
976</ul>
977</li>
978<li class="toctree-l3"><a class="reference internal" href="plat/arm/arm_fpga/index.html">2.6. Arm FPGA Platform</a><ul>
979<li class="toctree-l4"><a class="reference internal" href="plat/arm/arm_fpga/index.html#platform-specific-build-options">2.6.1. Platform-specific build options</a></li>
980<li class="toctree-l4"><a class="reference internal" href="plat/arm/arm_fpga/index.html#building-the-tf-a-image">2.6.2. Building the TF-A image</a></li>
981<li class="toctree-l4"><a class="reference internal" href="plat/arm/arm_fpga/index.html#running-the-tf-a-image">2.6.3. Running the TF-A image</a></li>
982</ul>
983</li>
984<li class="toctree-l3"><a class="reference internal" href="plat/arm/arm-build-options.html">2.7. Arm Development Platform Build Options</a><ul>
985<li class="toctree-l4"><a class="reference internal" href="plat/arm/arm-build-options.html#arm-platform-build-options">2.7.1. Arm Platform Build Options</a></li>
986<li class="toctree-l4"><a class="reference internal" href="plat/arm/arm-build-options.html#arm-css-platform-specific-build-options">2.7.2. Arm CSS Platform-Specific Build Options</a></li>
987</ul>
988</li>
989<li class="toctree-l3"><a class="reference internal" href="plat/arm/morello/index.html">2.8. Morello Platform</a><ul>
990<li class="toctree-l4"><a class="reference internal" href="plat/arm/morello/index.html#boot-sequence">2.8.1. Boot Sequence</a></li>
991</ul>
992</li>
993<li class="toctree-l3"><a class="reference internal" href="plat/arm/diphda/index.html">2.9. Diphda Platform</a><ul>
994<li class="toctree-l4"><a class="reference internal" href="plat/arm/diphda/index.html#boot-sequence">2.9.1. Boot Sequence</a></li>
995</ul>
996</li>
997</ul>
998</li>
999<li class="toctree-l2"><a class="reference internal" href="plat/deprecated.html">3. Deprecated platforms</a><ul>
1000<li class="toctree-l3"><a class="reference internal" href="plat/deprecated.html#process-of-deprecating-a-platform">3.1. Process of deprecating a platform</a></li>
1001<li class="toctree-l3"><a class="reference internal" href="plat/deprecated.html#list-of-deprecated-platforms">3.2. List of deprecated platforms</a></li>
1002</ul>
1003</li>
1004<li class="toctree-l2"><a class="reference internal" href="plat/meson-axg.html">4. Amlogic Meson A113D (AXG)</a></li>
1005<li class="toctree-l2"><a class="reference internal" href="plat/meson-gxbb.html">5. Amlogic Meson S905 (GXBB)</a></li>
1006<li class="toctree-l2"><a class="reference internal" href="plat/meson-gxl.html">6. Amlogic Meson S905x (GXL)</a></li>
1007<li class="toctree-l2"><a class="reference internal" href="plat/meson-g12a.html">7. Amlogic Meson S905X2 (G12A)</a></li>
1008<li class="toctree-l2"><a class="reference internal" href="plat/hikey.html">8. HiKey</a><ul>
1009<li class="toctree-l3"><a class="reference internal" href="plat/hikey.html#how-to-build">8.1. How to build</a><ul>
1010<li class="toctree-l4"><a class="reference internal" href="plat/hikey.html#code-locations">8.1.1. Code Locations</a></li>
1011<li class="toctree-l4"><a class="reference internal" href="plat/hikey.html#build-procedure">8.1.2. Build Procedure</a></li>
1012</ul>
1013</li>
1014<li class="toctree-l3"><a class="reference internal" href="plat/hikey.html#setup-console">8.2. Setup Console</a></li>
1015<li class="toctree-l3"><a class="reference internal" href="plat/hikey.html#flash-images-in-recovery-mode">8.3. Flash images in recovery mode</a></li>
1016<li class="toctree-l3"><a class="reference internal" href="plat/hikey.html#boot-uefi-in-normal-mode">8.4. Boot UEFI in normal mode</a></li>
1017</ul>
1018</li>
1019<li class="toctree-l2"><a class="reference internal" href="plat/hikey960.html">9. HiKey960</a><ul>
1020<li class="toctree-l3"><a class="reference internal" href="plat/hikey960.html#how-to-build">9.1. How to build</a><ul>
1021<li class="toctree-l4"><a class="reference internal" href="plat/hikey960.html#code-locations">9.1.1. Code Locations</a></li>
1022<li class="toctree-l4"><a class="reference internal" href="plat/hikey960.html#build-procedure">9.1.2. Build Procedure</a></li>
1023</ul>
1024</li>
1025<li class="toctree-l3"><a class="reference internal" href="plat/hikey960.html#setup-console">9.2. Setup Console</a></li>
1026<li class="toctree-l3"><a class="reference internal" href="plat/hikey960.html#boot-uefi-in-recovery-mode">9.3. Boot UEFI in recovery mode</a></li>
1027<li class="toctree-l3"><a class="reference internal" href="plat/hikey960.html#boot-uefi-in-normal-mode">9.4. Boot UEFI in normal mode</a></li>
1028</ul>
1029</li>
1030<li class="toctree-l2"><a class="reference internal" href="plat/intel-agilex.html">10. Intel Agilex SoCFPGA</a><ul>
1031<li class="toctree-l3"><a class="reference internal" href="plat/intel-agilex.html#how-to-build">10.1. How to build</a><ul>
1032<li class="toctree-l4"><a class="reference internal" href="plat/intel-agilex.html#code-locations">10.1.1. Code Locations</a></li>
1033<li class="toctree-l4"><a class="reference internal" href="plat/intel-agilex.html#build-procedure">10.1.2. Build Procedure</a></li>
1034<li class="toctree-l4"><a class="reference internal" href="plat/intel-agilex.html#install-procedure">10.1.3. Install Procedure</a></li>
1035</ul>
1036</li>
1037<li class="toctree-l3"><a class="reference internal" href="plat/intel-agilex.html#boot-trace">10.2. Boot trace</a></li>
1038</ul>
1039</li>
1040<li class="toctree-l2"><a class="reference internal" href="plat/intel-stratix10.html">11. Intel Stratix 10 SoCFPGA</a><ul>
1041<li class="toctree-l3"><a class="reference internal" href="plat/intel-stratix10.html#how-to-build">11.1. How to build</a><ul>
1042<li class="toctree-l4"><a class="reference internal" href="plat/intel-stratix10.html#code-locations">11.1.1. Code Locations</a></li>
1043<li class="toctree-l4"><a class="reference internal" href="plat/intel-stratix10.html#build-procedure">11.1.2. Build Procedure</a></li>
1044<li class="toctree-l4"><a class="reference internal" href="plat/intel-stratix10.html#install-procedure">11.1.3. Install Procedure</a></li>
1045</ul>
1046</li>
1047<li class="toctree-l3"><a class="reference internal" href="plat/intel-stratix10.html#boot-trace">11.2. Boot trace</a></li>
1048</ul>
1049</li>
1050<li class="toctree-l2"><a class="reference internal" href="plat/marvell/index.html">12. Marvell</a><ul>
1051<li class="toctree-l3"><a class="reference internal" href="plat/marvell/armada/build.html">12.1. TF-A Build Instructions for Marvell Platforms</a><ul>
1052<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/build.html#build-instructions">12.1.1. Build Instructions</a></li>
1053<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/build.html#special-build-flags">12.1.2. Special Build Flags</a></li>
1054<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/build.html#build-output">12.1.3. Build output</a></li>
1055<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/build.html#tools-and-external-components-installation">12.1.4. Tools and external components installation</a></li>
1056</ul>
1057</li>
1058<li class="toctree-l3"><a class="reference internal" href="plat/marvell/armada/porting.html">12.2. TF-A Porting Guide for Marvell Platforms</a><ul>
1059<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/porting.html#source-code-structure">12.2.1. Source Code Structure</a></li>
1060<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/porting.html#armada-70x0-armada-80x0-porting">12.2.2. Armada-70x0/Armada-80x0 Porting</a></li>
1061</ul>
1062</li>
1063<li class="toctree-l3"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-a8k-addr-map.html">12.3. Address decoding flow and address translation units of Marvell Armada 8K SoC family</a></li>
1064<li class="toctree-l3"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-amb.html">12.4. AMB - AXI MBUS address decoding</a><ul>
1065<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-amb.html#mandatory-functions">12.4.1. Mandatory functions</a></li>
1066<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-amb.html#mandatory-structures">12.4.2. Mandatory structures</a></li>
1067<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-amb.html#examples">12.4.3. Examples</a></li>
1068</ul>
1069</li>
1070<li class="toctree-l3"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-ccu.html">12.5. Marvell CCU address decoding bindings</a><ul>
1071<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-ccu.html#mandatory-functions">12.5.1. Mandatory functions</a></li>
1072<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-ccu.html#mandatory-structures">12.5.2. Mandatory structures</a></li>
1073<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-ccu.html#example">12.5.3. Example</a></li>
1074</ul>
1075</li>
1076<li class="toctree-l3"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-io-win.html">12.6. Marvell IO WIN address decoding bindings</a><ul>
1077<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-io-win.html#mandatory-functions">12.6.1. Mandatory functions</a></li>
1078<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-io-win.html#mandatory-structures">12.6.2. Mandatory structures</a></li>
1079<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-io-win.html#example">12.6.3. Example</a></li>
1080</ul>
1081</li>
1082<li class="toctree-l3"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-iob.html">12.7. Marvell IOB address decoding bindings</a><ul>
1083<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-iob.html#mandatory-functions">12.7.1. Mandatory functions</a></li>
1084<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-iob.html#mandatory-structures">12.7.2. Mandatory structures</a></li>
1085<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-iob.html#target-id-options">12.7.3. Target ID options</a></li>
1086<li class="toctree-l4"><a class="reference internal" href="plat/marvell/armada/misc/mvebu-iob.html#example">12.7.4. Example</a></li>
1087</ul>
1088</li>
1089</ul>
1090</li>
1091<li class="toctree-l2"><a class="reference internal" href="plat/mt8183.html">13. MediaTek 8183</a><ul>
1092<li class="toctree-l3"><a class="reference internal" href="plat/mt8183.html#boot-sequence">13.1. Boot Sequence</a></li>
1093<li class="toctree-l3"><a class="reference internal" href="plat/mt8183.html#how-to-build">13.2. How to Build</a></li>
1094</ul>
1095</li>
1096<li class="toctree-l2"><a class="reference internal" href="plat/mt8192.html">14. MediaTek 8192</a><ul>
1097<li class="toctree-l3"><a class="reference internal" href="plat/mt8192.html#boot-sequence">14.1. Boot Sequence</a></li>
1098<li class="toctree-l3"><a class="reference internal" href="plat/mt8192.html#how-to-build">14.2. How to Build</a></li>
1099</ul>
1100</li>
1101<li class="toctree-l2"><a class="reference internal" href="plat/mt8195.html">15. MediaTek 8195</a><ul>
1102<li class="toctree-l3"><a class="reference internal" href="plat/mt8195.html#boot-sequence">15.1. Boot Sequence</a></li>
1103<li class="toctree-l3"><a class="reference internal" href="plat/mt8195.html#how-to-build">15.2. How to Build</a></li>
1104</ul>
1105</li>
1106<li class="toctree-l2"><a class="reference internal" href="plat/nvidia-tegra.html">16. NVIDIA Tegra</a><ul>
1107<li class="toctree-l3"><a class="reference internal" href="plat/nvidia-tegra.html#directory-structure">16.1. Directory structure</a></li>
1108<li class="toctree-l3"><a class="reference internal" href="plat/nvidia-tegra.html#trusted-os-dispatcher">16.2. Trusted OS dispatcher</a></li>
1109<li class="toctree-l3"><a class="reference internal" href="plat/nvidia-tegra.html#scatter-files">16.3. Scatter files</a></li>
1110<li class="toctree-l3"><a class="reference internal" href="plat/nvidia-tegra.html#preparing-the-bl31-image-to-run-on-tegra-socs">16.4. Preparing the BL31 image to run on Tegra SoCs</a></li>
1111<li class="toctree-l3"><a class="reference internal" href="plat/nvidia-tegra.html#power-management">16.5. Power Management</a></li>
1112<li class="toctree-l3"><a class="reference internal" href="plat/nvidia-tegra.html#tegra-configs">16.6. Tegra configs</a></li>
1113</ul>
1114</li>
1115<li class="toctree-l2"><a class="reference internal" href="plat/warp7.html">17. NXP i.MX7 WaRP7</a><ul>
1116<li class="toctree-l3"><a class="reference internal" href="plat/warp7.html#boot-flow">17.1. Boot Flow</a></li>
1117<li class="toctree-l3"><a class="reference internal" href="plat/warp7.html#build-instructions">17.2. Build Instructions</a><ul>
1118<li class="toctree-l4"><a class="reference internal" href="plat/warp7.html#u-boot">17.2.1. U-Boot</a></li>
1119<li class="toctree-l4"><a class="reference internal" href="plat/warp7.html#op-tee">17.2.2. OP-TEE</a></li>
1120<li class="toctree-l4"><a class="reference internal" href="plat/warp7.html#tf-a">17.2.3. TF-A</a></li>
1121<li class="toctree-l4"><a class="reference internal" href="plat/warp7.html#fip">17.2.4. FIP</a></li>
1122</ul>
1123</li>
1124<li class="toctree-l3"><a class="reference internal" href="plat/warp7.html#deploy-images">17.3. Deploy Images</a></li>
1125<li class="toctree-l3"><a class="reference internal" href="plat/warp7.html#signing-bl2">17.4. Signing BL2</a></li>
1126</ul>
1127</li>
1128<li class="toctree-l2"><a class="reference internal" href="plat/imx8.html">18. NXP i.MX 8 Series</a><ul>
1129<li class="toctree-l3"><a class="reference internal" href="plat/imx8.html#boot-sequence">18.1. Boot Sequence</a></li>
1130<li class="toctree-l3"><a class="reference internal" href="plat/imx8.html#how-to-build">18.2. How to build</a><ul>
1131<li class="toctree-l4"><a class="reference internal" href="plat/imx8.html#build-procedure">18.2.1. Build Procedure</a></li>
1132<li class="toctree-l4"><a class="reference internal" href="plat/imx8.html#deploy-tf-a-images">18.2.2. Deploy TF-A Images</a></li>
1133</ul>
1134</li>
1135</ul>
1136</li>
1137<li class="toctree-l2"><a class="reference internal" href="plat/imx8m.html">19. NXP i.MX 8M Series</a><ul>
1138<li class="toctree-l3"><a class="reference internal" href="plat/imx8m.html#boot-sequence">19.1. Boot Sequence</a></li>
1139<li class="toctree-l3"><a class="reference internal" href="plat/imx8m.html#how-to-build">19.2. How to build</a><ul>
1140<li class="toctree-l4"><a class="reference internal" href="plat/imx8m.html#build-procedure">19.2.1. Build Procedure</a></li>
1141<li class="toctree-l4"><a class="reference internal" href="plat/imx8m.html#deploy-tf-a-images">19.2.2. Deploy TF-A Images</a></li>
1142</ul>
1143</li>
1144<li class="toctree-l3"><a class="reference internal" href="plat/imx8m.html#tbbr-boot-sequence">19.3. TBBR Boot Sequence</a></li>
1145</ul>
1146</li>
1147<li class="toctree-l2"><a class="reference internal" href="plat/ls1043a.html">20. NXP QorIQ® LS1043A</a><ul>
1148<li class="toctree-l3"><a class="reference internal" href="plat/ls1043a.html#ls1043ardb-specification">20.1. LS1043ARDB Specification:</a></li>
1149<li class="toctree-l3"><a class="reference internal" href="plat/ls1043a.html#boot-sequence">20.2. Boot Sequence</a></li>
1150<li class="toctree-l3"><a class="reference internal" href="plat/ls1043a.html#how-to-build">20.3. How to build</a><ul>
1151<li class="toctree-l4"><a class="reference internal" href="plat/ls1043a.html#build-procedure">20.3.1. Build Procedure</a></li>
1152<li class="toctree-l4"><a class="reference internal" href="plat/ls1043a.html#deploy-tf-a-images">20.3.2. Deploy TF-A Images</a></li>
1153</ul>
1154</li>
1155</ul>
1156</li>
1157<li class="toctree-l2"><a class="reference internal" href="plat/nxp/index.html">21. NXP Reference Development Platforms</a><ul>
1158<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-layerscape.html">21.1. <span class="sectnum">1.</span> NXP SoCs - Overview</a><ul>
1159<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#table-of-supported-boot-modes-by-each-platform-platform-that-needs-fip-ddr">21.1.1. <span class="sectnum">1.1.</span> Table of supported boot-modes by each platform &amp; platform that needs FIP-DDR:</a></li>
1160<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#boot-sequence">21.1.2. <span class="sectnum">1.2.</span> Boot Sequence</a></li>
1161<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#boot-sequence-with-fip-ddr">21.1.3. <span class="sectnum">1.3.</span> Boot Sequence with FIP-DDR</a></li>
1162<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#ddr-memory-layout">21.1.4. <span class="sectnum">1.4.</span> DDR Memory Layout</a></li>
1163</ul>
1164</li>
1165<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#how-to-build">21.2. <span class="sectnum">2.</span> How to build</a><ul>
1166<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#code-locations">21.2.1. <span class="sectnum">2.1.</span> Code Locations</a></li>
1167<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#build-procedure">21.2.2. <span class="sectnum">2.2.</span> Build Procedure</a></li>
1168</ul>
1169</li>
1170<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#deploy-atf-images">21.3. <span class="sectnum">3.</span> Deploy ATF Images</a></li>
1171<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-layerscape.html#trusted-board-boot">21.4. <span class="sectnum">4.</span> Trusted Board Boot:</a></li>
1172<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-ls-fuse-prov.html">21.5. Steps to blow fuses on NXP LS SoC:</a></li>
1173<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-ls-fuse-prov.html#second-method-to-do-the-fuse-provsioning">21.6. Second method to do the fuse provsioning:</a></li>
1174<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-ls-tbbr.html">21.7. NXP Platforms:</a><ul>
1175<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-ls-tbbr.html#bare-minimum-preparation-to-run-tbbr-on-nxp-platforms">21.7.1. Bare-Minimum Preparation to run  TBBR on NXP Platforms:</a></li>
1176<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-ls-tbbr.html#two-options-are-provided-for-trusted-board-boot">21.7.2. Two options are provided for TRUSTED_BOARD_BOOT:</a></li>
1177</ul>
1178</li>
1179<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-ls-tbbr.html#option-1-cot-using-x-509-certificates">21.8. Option 1: CoT using X 509 certificates</a></li>
1180<li class="toctree-l3"><a class="reference internal" href="plat/nxp/nxp-ls-tbbr.html#option-2-cot-using-nxp-csf-headers">21.9. Option 2: CoT using NXP CSF headers.</a><ul>
1181<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-ls-tbbr.html#deploy-atf-images">21.9.1. Deploy ATF Images</a></li>
1182<li class="toctree-l4"><a class="reference internal" href="plat/nxp/nxp-ls-tbbr.html#verification-to-check-if-secure-state-is-achieved">21.9.2. Verification to check if Secure state is achieved:</a></li>
1183</ul>
1184</li>
1185</ul>
1186</li>
1187<li class="toctree-l2"><a class="reference internal" href="plat/poplar.html">22. Poplar</a><ul>
1188<li class="toctree-l3"><a class="reference internal" href="plat/poplar.html#how-to-build">22.1. How to build</a><ul>
1189<li class="toctree-l4"><a class="reference internal" href="plat/poplar.html#code-locations">22.1.1. Code Locations</a></li>
1190<li class="toctree-l4"><a class="reference internal" href="plat/poplar.html#build-procedure">22.1.2. Build Procedure</a></li>
1191</ul>
1192</li>
1193<li class="toctree-l3"><a class="reference internal" href="plat/poplar.html#install-procedure">22.2. Install Procedure</a></li>
1194<li class="toctree-l3"><a class="reference internal" href="plat/poplar.html#boot-trace">22.3. Boot trace</a></li>
1195</ul>
1196</li>
1197<li class="toctree-l2"><a class="reference internal" href="plat/qemu.html">23. QEMU virt Armv8-A</a><ul>
1198<li class="toctree-l3"><a class="reference internal" href="plat/qemu.html#getting-non-tf-images">23.1. Getting non-TF images</a></li>
1199<li class="toctree-l3"><a class="reference internal" href="plat/qemu.html#booting-via-semi-hosting-option">23.2. Booting via semi-hosting option</a></li>
1200<li class="toctree-l3"><a class="reference internal" href="plat/qemu.html#booting-via-flash-based-firmwares">23.3. Booting via flash based firmwares</a></li>
1201</ul>
1202</li>
1203<li class="toctree-l2"><a class="reference internal" href="plat/qemu-sbsa.html">24. QEMU SBSA Target</a></li>
1204<li class="toctree-l2"><a class="reference internal" href="plat/qti.html">25. Qualcomm Technologies, Inc.</a><ul>
1205<li class="toctree-l3"><a class="reference internal" href="plat/qti.html#boot-trace">25.1. Boot Trace</a></li>
1206<li class="toctree-l3"><a class="reference internal" href="plat/qti.html#how-to-build">25.2. How to build</a><ul>
1207<li class="toctree-l4"><a class="reference internal" href="plat/qti.html#code-locations">25.2.1. Code Locations</a></li>
1208<li class="toctree-l4"><a class="reference internal" href="plat/qti.html#build-procedure">25.2.2. Build Procedure</a></li>
1209</ul>
1210</li>
1211</ul>
1212</li>
1213<li class="toctree-l2"><a class="reference internal" href="plat/rpi3.html">26. Raspberry Pi 3</a><ul>
1214<li class="toctree-l3"><a class="reference internal" href="plat/rpi3.html#design">26.1. Design</a><ul>
1215<li class="toctree-l4"><a class="reference internal" href="plat/rpi3.html#placement-of-images">26.1.1. Placement of images</a></li>
1216<li class="toctree-l4"><a class="reference internal" href="plat/rpi3.html#boot-sequence">26.1.2. Boot sequence</a></li>
1217<li class="toctree-l4"><a class="reference internal" href="plat/rpi3.html#secondary-cores">26.1.3. Secondary cores</a></li>
1218</ul>
1219</li>
1220<li class="toctree-l3"><a class="reference internal" href="plat/rpi3.html#build-instructions">26.2. Build Instructions</a><ul>
1221<li class="toctree-l4"><a class="reference internal" href="plat/rpi3.html#building-the-firmware-for-kernels-that-don-t-support-psci">26.2.1. Building the firmware for kernels that don’t support PSCI</a></li>
1222<li class="toctree-l4"><a class="reference internal" href="plat/rpi3.html#building-the-firmware-for-kernels-that-support-psci">26.2.2. Building the firmware for kernels that support PSCI</a></li>
1223</ul>
1224</li>
1225<li class="toctree-l3"><a class="reference internal" href="plat/rpi3.html#aarch64-kernel-build-instructions">26.3. AArch64 kernel build instructions</a></li>
1226<li class="toctree-l3"><a class="reference internal" href="plat/rpi3.html#setup-sd-card">26.4. Setup SD card</a></li>
1227</ul>
1228</li>
1229<li class="toctree-l2"><a class="reference internal" href="plat/rpi4.html">27. Raspberry Pi 4</a><ul>
1230<li class="toctree-l3"><a class="reference internal" href="plat/rpi4.html#build-instructions">27.1. Build Instructions</a></li>
1231<li class="toctree-l3"><a class="reference internal" href="plat/rpi4.html#tf-a-port-design">27.2. TF-A port design</a></li>
1232</ul>
1233</li>
1234<li class="toctree-l2"><a class="reference internal" href="plat/rcar-gen3.html">28. Renesas R-Car</a><ul>
1235<li class="toctree-l3"><a class="reference internal" href="plat/rcar-gen3.html#renesas-r-car-gen3-evaluation-boards">28.1. Renesas R-Car Gen3 evaluation boards:</a></li>
1236<li class="toctree-l3"><a class="reference internal" href="plat/rcar-gen3.html#overview">28.2. Overview</a></li>
1237<li class="toctree-l3"><a class="reference internal" href="plat/rcar-gen3.html#how-to-build">28.3. How to build</a><ul>
1238<li class="toctree-l4"><a class="reference internal" href="plat/rcar-gen3.html#build-tested">28.3.1. Build Tested:</a></li>
1239<li class="toctree-l4"><a class="reference internal" href="plat/rcar-gen3.html#system-tested">28.3.2. System Tested:</a></li>
1240<li class="toctree-l4"><a class="reference internal" href="plat/rcar-gen3.html#tf-a-build-procedure">28.3.3. TF-A Build Procedure</a></li>
1241<li class="toctree-l4"><a class="reference internal" href="plat/rcar-gen3.html#install-procedure">28.3.4. Install Procedure</a></li>
1242</ul>
1243</li>
1244<li class="toctree-l3"><a class="reference internal" href="plat/rcar-gen3.html#boot-trace">28.4. Boot trace</a></li>
1245</ul>
1246</li>
1247<li class="toctree-l2"><a class="reference internal" href="plat/rz-g2.html">29. Renesas RZ/G</a><ul>
1248<li class="toctree-l3"><a class="reference internal" href="plat/rz-g2.html#renesas-rz-g2-reference-platforms">29.1. Renesas RZ/G2 reference platforms:</a></li>
1249<li class="toctree-l3"><a class="reference internal" href="plat/rz-g2.html#overview">29.2. Overview</a></li>
1250<li class="toctree-l3"><a class="reference internal" href="plat/rz-g2.html#how-to-build">29.3. How to build</a><ul>
1251<li class="toctree-l4"><a class="reference internal" href="plat/rz-g2.html#build-tested">29.3.1. Build Tested:</a></li>
1252<li class="toctree-l4"><a class="reference internal" href="plat/rz-g2.html#system-tested">29.3.2. System Tested:</a></li>
1253<li class="toctree-l4"><a class="reference internal" href="plat/rz-g2.html#tf-a-build-procedure">29.3.3. TF-A Build Procedure</a></li>
1254<li class="toctree-l4"><a class="reference internal" href="plat/rz-g2.html#install-procedure">29.3.4. Install Procedure</a></li>
1255</ul>
1256</li>
1257<li class="toctree-l3"><a class="reference internal" href="plat/rz-g2.html#boot-trace">29.4. Boot trace</a></li>
1258</ul>
1259</li>
1260<li class="toctree-l2"><a class="reference internal" href="plat/rockchip.html">30. Rockchip SoCs</a><ul>
1261<li class="toctree-l3"><a class="reference internal" href="plat/rockchip.html#boot-sequence">30.1. Boot Sequence</a></li>
1262<li class="toctree-l3"><a class="reference internal" href="plat/rockchip.html#how-to-build">30.2. How to build</a></li>
1263<li class="toctree-l3"><a class="reference internal" href="plat/rockchip.html#how-to-deploy">30.3. How to deploy</a></li>
1264</ul>
1265</li>
1266<li class="toctree-l2"><a class="reference internal" href="plat/socionext-uniphier.html">31. Socionext UniPhier</a><ul>
1267<li class="toctree-l3"><a class="reference internal" href="plat/socionext-uniphier.html#boot-flow">31.1. Boot Flow</a></li>
1268<li class="toctree-l3"><a class="reference internal" href="plat/socionext-uniphier.html#basic-build">31.2. Basic Build</a></li>
1269<li class="toctree-l3"><a class="reference internal" href="plat/socionext-uniphier.html#optional-features">31.3. Optional features</a></li>
1270</ul>
1271</li>
1272<li class="toctree-l2"><a class="reference internal" href="plat/synquacer.html">32. Socionext Synquacer</a><ul>
1273<li class="toctree-l3"><a class="reference internal" href="plat/synquacer.html#how-to-build">32.1. How to build</a><ul>
1274<li class="toctree-l4"><a class="reference internal" href="plat/synquacer.html#code-locations">32.1.1. Code Locations</a></li>
1275<li class="toctree-l4"><a class="reference internal" href="plat/synquacer.html#boot-flow">32.1.2. Boot Flow</a></li>
1276<li class="toctree-l4"><a class="reference internal" href="plat/synquacer.html#build-procedure">32.1.3. Build Procedure</a></li>
1277<li class="toctree-l4"><a class="reference internal" href="plat/synquacer.html#install-the-system-firmware">32.1.4. Install the System Firmware</a></li>
1278</ul>
1279</li>
1280</ul>
1281</li>
1282<li class="toctree-l2"><a class="reference internal" href="plat/stm32mp1.html">33. STMicroelectronics STM32MP1</a><ul>
1283<li class="toctree-l3"><a class="reference internal" href="plat/stm32mp1.html#stm32mp1-versions">33.1. STM32MP1 Versions</a></li>
1284<li class="toctree-l3"><a class="reference internal" href="plat/stm32mp1.html#design">33.2. Design</a><ul>
1285<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#boot-with-fip">33.2.1. Boot with FIP</a></li>
1286<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#stm32image-bootchain">33.2.2. STM32IMAGE bootchain</a></li>
1287<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#memory-mapping">33.2.3. Memory mapping</a></li>
1288<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#boot-sequence">33.2.4. Boot sequence</a></li>
1289</ul>
1290</li>
1291<li class="toctree-l3"><a class="reference internal" href="plat/stm32mp1.html#build-instructions">33.3. Build Instructions</a><ul>
1292<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#id1">33.3.1. Boot with FIP</a></li>
1293<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#id2">33.3.2. STM32IMAGE bootchain</a></li>
1294</ul>
1295</li>
1296<li class="toctree-l3"><a class="reference internal" href="plat/stm32mp1.html#populate-sd-card">33.4. Populate SD-card</a><ul>
1297<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#id3">33.4.1. Boot with FIP</a></li>
1298<li class="toctree-l4"><a class="reference internal" href="plat/stm32mp1.html#id4">33.4.2. STM32IMAGE bootchain</a></li>
1299</ul>
1300</li>
1301</ul>
1302</li>
1303<li class="toctree-l2"><a class="reference internal" href="plat/ti-k3.html">34. Texas Instruments K3</a><ul>
1304<li class="toctree-l3"><a class="reference internal" href="plat/ti-k3.html#boot-flow">34.1. Boot Flow</a></li>
1305<li class="toctree-l3"><a class="reference internal" href="plat/ti-k3.html#build-instructions">34.2. Build Instructions</a></li>
1306<li class="toctree-l3"><a class="reference internal" href="plat/ti-k3.html#deploy-images">34.3. Deploy Images</a></li>
1307</ul>
1308</li>
1309<li class="toctree-l2"><a class="reference internal" href="plat/xilinx-versal.html">35. Xilinx Versal</a><ul>
1310<li class="toctree-l3"><a class="reference internal" href="plat/xilinx-versal.html#xilinx-versal-platform-specific-build-options">35.1. Xilinx Versal platform specific build options</a></li>
1311<li class="toctree-l3"><a class="reference internal" href="plat/xilinx-versal.html#plm-tf-a-parameter-passing">35.2. # PLM-&gt;TF-A Parameter Passing</a></li>
1312</ul>
1313</li>
1314<li class="toctree-l2"><a class="reference internal" href="plat/xilinx-zynqmp.html">36. Xilinx Zynq UltraScale+ MPSoC</a><ul>
1315<li class="toctree-l3"><a class="reference internal" href="plat/xilinx-zynqmp.html#zynqmp-platform-specific-build-options">36.1. ZynqMP platform specific build options</a></li>
1316<li class="toctree-l3"><a class="reference internal" href="plat/xilinx-zynqmp.html#fsbl-tf-a-parameter-passing">36.2. FSBL-&gt;TF-A Parameter Passing</a></li>
1317<li class="toctree-l3"><a class="reference internal" href="plat/xilinx-zynqmp.html#power-domain-tree">36.3. Power Domain Tree</a></li>
1318</ul>
1319</li>
1320<li class="toctree-l2"><a class="reference internal" href="plat/brcm-stingray.html">37. Broadcom Stingray</a><ul>
1321<li class="toctree-l3"><a class="reference internal" href="plat/brcm-stingray.html#description">37.1. Description</a></li>
1322<li class="toctree-l3"><a class="reference internal" href="plat/brcm-stingray.html#boot-sequence">37.2. Boot Sequence</a><ul>
1323<li class="toctree-l4"><a class="reference internal" href="plat/brcm-stingray.html#code-locations">37.2.1. Code Locations</a></li>
1324</ul>
1325</li>
1326<li class="toctree-l3"><a class="reference internal" href="plat/brcm-stingray.html#how-to-build">37.3. How to build</a><ul>
1327<li class="toctree-l4"><a class="reference internal" href="plat/brcm-stingray.html#build-procedure">37.3.1. Build Procedure</a></li>
1328<li class="toctree-l4"><a class="reference internal" href="plat/brcm-stingray.html#deploy-tf-a-images">37.3.2. Deploy TF-A Images</a></li>
1329</ul>
1330</li>
1331</ul>
1332</li>
1333</ul>
1334</li>
1335<li class="toctree-l1"><a class="reference internal" href="perf/index.html">Performance &amp; Testing</a><ul>
1336<li class="toctree-l2"><a class="reference internal" href="perf/psci-performance-juno.html">1. PSCI Performance Measurements on Arm Juno Development Platform</a><ul>
1337<li class="toctree-l3"><a class="reference internal" href="perf/psci-performance-juno.html#method">1.1. Method</a></li>
1338<li class="toctree-l3"><a class="reference internal" href="perf/psci-performance-juno.html#results-and-commentary">1.2. Results and Commentary</a><ul>
1339<li class="toctree-l4"><a class="reference internal" href="perf/psci-performance-juno.html#cpu-suspend-to-deepest-power-level-on-all-cpus-in-parallel">1.2.1. <code class="docutils literal notranslate"><span class="pre">CPU_SUSPEND</span></code> to deepest power level on all CPUs in parallel</a></li>
1340<li class="toctree-l4"><a class="reference internal" href="perf/psci-performance-juno.html#cpu-suspend-to-power-level-0-on-all-cpus-in-parallel">1.2.2. <code class="docutils literal notranslate"><span class="pre">CPU_SUSPEND</span></code> to power level 0 on all CPUs in parallel</a></li>
1341<li class="toctree-l4"><a class="reference internal" href="perf/psci-performance-juno.html#cpu-suspend-to-deepest-power-level-on-all-cpus-in-sequence">1.2.3. <code class="docutils literal notranslate"><span class="pre">CPU_SUSPEND</span></code> to deepest power level on all CPUs in sequence</a></li>
1342<li class="toctree-l4"><a class="reference internal" href="perf/psci-performance-juno.html#cpu-suspend-to-power-level-0-on-all-cpus-in-sequence">1.2.4. <code class="docutils literal notranslate"><span class="pre">CPU_SUSPEND</span></code> to power level 0 on all CPUs in sequence</a></li>
1343<li class="toctree-l4"><a class="reference internal" href="perf/psci-performance-juno.html#cpu-off-on-all-non-lead-cpus-in-sequence-then-cpu-suspend-on-lead-cpu-to-deepest-power-level">1.2.5. <code class="docutils literal notranslate"><span class="pre">CPU_OFF</span></code> on all non-lead CPUs in sequence then <code class="docutils literal notranslate"><span class="pre">CPU_SUSPEND</span></code> on lead CPU to deepest power level</a></li>
1344<li class="toctree-l4"><a class="reference internal" href="perf/psci-performance-juno.html#psci-version-on-all-cpus-in-parallel">1.2.6. <code class="docutils literal notranslate"><span class="pre">PSCI_VERSION</span></code> on all CPUs in parallel</a></li>
1345</ul>
1346</li>
1347</ul>
1348</li>
1349<li class="toctree-l2"><a class="reference internal" href="perf/tsp.html">2. Test Secure Payload (TSP) and Dispatcher (TSPD)</a><ul>
1350<li class="toctree-l3"><a class="reference internal" href="perf/tsp.html#building-the-test-secure-payload">2.1. Building the Test Secure Payload</a></li>
1351</ul>
1352</li>
1353<li class="toctree-l2"><a class="reference internal" href="perf/performance-monitoring-unit.html">3. Performance Monitoring Unit</a><ul>
1354<li class="toctree-l3"><a class="reference internal" href="perf/performance-monitoring-unit.html#pmu-counters">3.1. PMU Counters</a><ul>
1355<li class="toctree-l4"><a class="reference internal" href="perf/performance-monitoring-unit.html#architectural-mappings">3.1.1. Architectural mappings</a></li>
1356</ul>
1357</li>
1358<li class="toctree-l3"><a class="reference internal" href="perf/performance-monitoring-unit.html#configuring-the-pmu-for-counting-events">3.2. Configuring the PMU for counting events</a><ul>
1359<li class="toctree-l4"><a class="reference internal" href="perf/performance-monitoring-unit.html#id1">3.2.1. Architectural mappings</a></li>
1360<li class="toctree-l4"><a class="reference internal" href="perf/performance-monitoring-unit.html#relevant-register-fields">3.2.2. Relevant register fields</a></li>
1361</ul>
1362</li>
1363</ul>
1364</li>
1365</ul>
1366</li>
1367<li class="toctree-l1"><a class="reference internal" href="security_advisories/index.html">Security Advisories</a><ul>
1368<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-1.html">1. Advisory TFV-1 (CVE-2016-10319)</a></li>
1369<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-2.html">2. Advisory TFV-2 (CVE-2017-7564)</a></li>
1370<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-3.html">3. Advisory TFV-3 (CVE-2017-7563)</a></li>
1371<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-4.html">4. Advisory TFV-4 (CVE-2017-9607)</a></li>
1372<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-5.html">5. Advisory TFV-5 (CVE-2017-15031)</a></li>
1373<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-6.html">6. Advisory TFV-6 (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754)</a><ul>
1374<li class="toctree-l3"><a class="reference internal" href="security_advisories/security-advisory-tfv-6.html#variant-1-cve-2017-5753">6.1. Variant 1 (CVE-2017-5753)</a></li>
1375<li class="toctree-l3"><a class="reference internal" href="security_advisories/security-advisory-tfv-6.html#variant-2-cve-2017-5715">6.2. Variant 2 (CVE-2017-5715)</a></li>
1376<li class="toctree-l3"><a class="reference internal" href="security_advisories/security-advisory-tfv-6.html#variant-3-cve-2017-5754">6.3. Variant 3 (CVE-2017-5754)</a></li>
1377</ul>
1378</li>
1379<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-7.html">7. Advisory TFV-7 (CVE-2018-3639)</a><ul>
1380<li class="toctree-l3"><a class="reference internal" href="security_advisories/security-advisory-tfv-7.html#static-mitigation">7.1. Static mitigation</a></li>
1381<li class="toctree-l3"><a class="reference internal" href="security_advisories/security-advisory-tfv-7.html#dynamic-mitigation">7.2. Dynamic mitigation</a></li>
1382</ul>
1383</li>
1384<li class="toctree-l2"><a class="reference internal" href="security_advisories/security-advisory-tfv-8.html">8. Advisory TFV-8 (CVE-2018-19440)</a></li>
1385</ul>
1386</li>
1387<li class="toctree-l1"><a class="reference internal" href="design_documents/index.html">Design Documents</a><ul>
1388<li class="toctree-l2"><a class="reference internal" href="design_documents/cmake_framework.html">1. TF-A CMake buildsystem</a><ul>
1389<li class="toctree-l3"><a class="reference internal" href="design_documents/cmake_framework.html#abstract">1.1. Abstract</a></li>
1390<li class="toctree-l3"><a class="reference internal" href="design_documents/cmake_framework.html#introduction">1.2. Introduction</a></li>
1391<li class="toctree-l3"><a class="reference internal" href="design_documents/cmake_framework.html#main-features">1.3. Main features</a><ul>
1392<li class="toctree-l4"><a class="reference internal" href="design_documents/cmake_framework.html#structured-configuration-description">1.3.1. Structured configuration description</a></li>
1393<li class="toctree-l4"><a class="reference internal" href="design_documents/cmake_framework.html#target-description">1.3.2. Target description</a></li>
1394<li class="toctree-l4"><a class="reference internal" href="design_documents/cmake_framework.html#compiler-abstraction">1.3.3. Compiler abstraction</a></li>
1395<li class="toctree-l4"><a class="reference internal" href="design_documents/cmake_framework.html#external-tools">1.3.4. External tools</a></li>
1396</ul>
1397</li>
1398<li class="toctree-l3"><a class="reference internal" href="design_documents/cmake_framework.html#workflow">1.4. Workflow</a></li>
1399<li class="toctree-l3"><a class="reference internal" href="design_documents/cmake_framework.html#example">1.5. Example</a></li>
1400</ul>
1401</li>
1402<li class="toctree-l2"><a class="reference internal" href="design_documents/measured_boot_poc.html">2. Interaction between Measured Boot and an fTPM (PoC)</a><ul>
1403<li class="toctree-l3"><a class="reference internal" href="design_documents/measured_boot_poc.html#components">2.1. Components</a></li>
1404<li class="toctree-l3"><a class="reference internal" href="design_documents/measured_boot_poc.html#building-the-poc-for-the-arm-fvp-platform">2.2. Building the PoC for the Arm FVP platform</a></li>
1405<li class="toctree-l3"><a class="reference internal" href="design_documents/measured_boot_poc.html#running-and-using-the-poc-on-the-armv8-a-foundation-aem-fvp">2.3. Running and using the PoC on the Armv8-A Foundation AEM FVP</a></li>
1406<li class="toctree-l3"><a class="reference internal" href="design_documents/measured_boot_poc.html#fine-tuning-the-ftpm-ta">2.4. Fine-tuning the fTPM TA</a></li>
1407</ul>
1408</li>
1409</ul>
1410</li>
1411<li class="toctree-l1"><a class="reference internal" href="threat_model/index.html">Threat Model</a><ul>
1412<li class="toctree-l2"><a class="reference internal" href="threat_model/threat_model.html">1. Generic threat model</a><ul>
1413<li class="toctree-l3"><a class="reference internal" href="threat_model/threat_model.html#introduction">1.1. Introduction</a></li>
1414<li class="toctree-l3"><a class="reference internal" href="threat_model/threat_model.html#target-of-evaluation">1.2. Target of Evaluation</a><ul>
1415<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model.html#data-flow-diagram">1.2.1. Data Flow Diagram</a></li>
1416</ul>
1417</li>
1418<li class="toctree-l3"><a class="reference internal" href="threat_model/threat_model.html#threat-analysis">1.3. Threat Analysis</a><ul>
1419<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model.html#assets">1.3.1. Assets</a></li>
1420<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model.html#threat-agents">1.3.2. Threat Agents</a></li>
1421<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model.html#threat-types">1.3.3. Threat Types</a></li>
1422<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model.html#threat-risk-ratings">1.3.4. Threat Risk Ratings</a></li>
1423<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model.html#threat-assessment">1.3.5. Threat Assessment</a></li>
1424</ul>
1425</li>
1426</ul>
1427</li>
1428<li class="toctree-l2"><a class="reference internal" href="threat_model/threat_model_spm.html">2. SPMC threat model</a><ul>
1429<li class="toctree-l3"><a class="reference internal" href="threat_model/threat_model_spm.html#introduction">2.1. Introduction</a></li>
1430<li class="toctree-l3"><a class="reference internal" href="threat_model/threat_model_spm.html#target-of-evaluation">2.2. Target of Evaluation</a><ul>
1431<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model_spm.html#data-flow-diagram">2.2.1. Data Flow Diagram</a></li>
1432</ul>
1433</li>
1434<li class="toctree-l3"><a class="reference internal" href="threat_model/threat_model_spm.html#threat-analysis">2.3. Threat Analysis</a><ul>
1435<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model_spm.html#trust-boundaries">2.3.1. Trust boundaries</a></li>
1436<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model_spm.html#assets">2.3.2. Assets</a></li>
1437<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model_spm.html#threat-agents">2.3.3. Threat Agents</a></li>
1438<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model_spm.html#threat-types">2.3.4. Threat types</a></li>
1439<li class="toctree-l4"><a class="reference internal" href="threat_model/threat_model_spm.html#threat-assessment">2.3.5. Threat Assessment</a></li>
1440</ul>
1441</li>
1442</ul>
1443</li>
1444</ul>
1445</li>
1446<li class="toctree-l1"><a class="reference internal" href="change-log.html">Change Log &amp; Release Notes</a><ul>
1447<li class="toctree-l2"><a class="reference internal" href="change-log.html#id1">2.6 (2021-11-22)</a><ul>
1448<li class="toctree-l3"><a class="reference internal" href="change-log.html#breaking-changes">⚠ BREAKING CHANGES</a></li>
1449<li class="toctree-l3"><a class="reference internal" href="change-log.html#new-features">New Features</a></li>
1450<li class="toctree-l3"><a class="reference internal" href="change-log.html#resolved-issues">Resolved Issues</a></li>
1451</ul>
1452</li>
1453<li class="toctree-l2"><a class="reference internal" href="change-log.html#id2">2.5.0 (2021-05-17)</a><ul>
1454<li class="toctree-l3"><a class="reference internal" href="change-log.html#id3">New Features</a></li>
1455<li class="toctree-l3"><a class="reference internal" href="change-log.html#changed">Changed</a></li>
1456<li class="toctree-l3"><a class="reference internal" href="change-log.html#id4">Resolved Issues</a></li>
1457</ul>
1458</li>
1459<li class="toctree-l2"><a class="reference internal" href="change-log.html#id5">2.4.0 (2020-11-17)</a><ul>
1460<li class="toctree-l3"><a class="reference internal" href="change-log.html#id6">New Features</a></li>
1461<li class="toctree-l3"><a class="reference internal" href="change-log.html#id7">Changed</a></li>
1462<li class="toctree-l3"><a class="reference internal" href="change-log.html#id8">Resolved Issues</a></li>
1463<li class="toctree-l3"><a class="reference internal" href="change-log.html#known-issues">Known Issues</a></li>
1464</ul>
1465</li>
1466<li class="toctree-l2"><a class="reference internal" href="change-log.html#id9">2.3 (2020-04-20)</a><ul>
1467<li class="toctree-l3"><a class="reference internal" href="change-log.html#id10">New Features</a></li>
1468<li class="toctree-l3"><a class="reference internal" href="change-log.html#id11">Changed</a></li>
1469<li class="toctree-l3"><a class="reference internal" href="change-log.html#id12">Resolved Issues</a></li>
1470<li class="toctree-l3"><a class="reference internal" href="change-log.html#id13">Known Issues</a></li>
1471</ul>
1472</li>
1473<li class="toctree-l2"><a class="reference internal" href="change-log.html#id14">2.2 (2019-10-22)</a><ul>
1474<li class="toctree-l3"><a class="reference internal" href="change-log.html#id15">New Features</a></li>
1475<li class="toctree-l3"><a class="reference internal" href="change-log.html#id16">Changed</a></li>
1476<li class="toctree-l3"><a class="reference internal" href="change-log.html#id17">Resolved Issues</a></li>
1477<li class="toctree-l3"><a class="reference internal" href="change-log.html#deprecations">Deprecations</a></li>
1478<li class="toctree-l3"><a class="reference internal" href="change-log.html#id18">Known Issues</a></li>
1479</ul>
1480</li>
1481<li class="toctree-l2"><a class="reference internal" href="change-log.html#id19">2.1 (2019-03-29)</a><ul>
1482<li class="toctree-l3"><a class="reference internal" href="change-log.html#id20">New Features</a></li>
1483<li class="toctree-l3"><a class="reference internal" href="change-log.html#id21">Changed</a></li>
1484<li class="toctree-l3"><a class="reference internal" href="change-log.html#id22">Resolved Issues</a></li>
1485<li class="toctree-l3"><a class="reference internal" href="change-log.html#id23">Deprecations</a></li>
1486<li class="toctree-l3"><a class="reference internal" href="change-log.html#id24">Known Issues</a></li>
1487</ul>
1488</li>
1489<li class="toctree-l2"><a class="reference internal" href="change-log.html#id25">2.0 (2018-10-02)</a><ul>
1490<li class="toctree-l3"><a class="reference internal" href="change-log.html#id26">New Features</a></li>
1491<li class="toctree-l3"><a class="reference internal" href="change-log.html#issues-resolved-since-last-release">Issues resolved since last release</a></li>
1492<li class="toctree-l3"><a class="reference internal" href="change-log.html#id27">Known Issues</a></li>
1493</ul>
1494</li>
1495<li class="toctree-l2"><a class="reference internal" href="change-log.html#id28">1.6 (2018-09-21)</a><ul>
1496<li class="toctree-l3"><a class="reference internal" href="change-log.html#id29">New Features</a></li>
1497<li class="toctree-l3"><a class="reference internal" href="change-log.html#id30">Issues resolved since last release</a></li>
1498<li class="toctree-l3"><a class="reference internal" href="change-log.html#id31">Known Issues</a></li>
1499</ul>
1500</li>
1501<li class="toctree-l2"><a class="reference internal" href="change-log.html#id32">1.5 (2018-03-20)</a><ul>
1502<li class="toctree-l3"><a class="reference internal" href="change-log.html#id33">New features</a></li>
1503<li class="toctree-l3"><a class="reference internal" href="change-log.html#id34">Issues resolved since last release</a></li>
1504<li class="toctree-l3"><a class="reference internal" href="change-log.html#id35">Known Issues</a></li>
1505</ul>
1506</li>
1507<li class="toctree-l2"><a class="reference internal" href="change-log.html#id36">1.4 (2017-07-07)</a><ul>
1508<li class="toctree-l3"><a class="reference internal" href="change-log.html#id37">New features</a></li>
1509<li class="toctree-l3"><a class="reference internal" href="change-log.html#id38">Issues resolved since last release</a></li>
1510<li class="toctree-l3"><a class="reference internal" href="change-log.html#id39">Known Issues</a></li>
1511</ul>
1512</li>
1513<li class="toctree-l2"><a class="reference internal" href="change-log.html#id40">1.3 (2016-10-13)</a><ul>
1514<li class="toctree-l3"><a class="reference internal" href="change-log.html#id41">New features</a></li>
1515<li class="toctree-l3"><a class="reference internal" href="change-log.html#id42">Issues resolved since last release</a></li>
1516<li class="toctree-l3"><a class="reference internal" href="change-log.html#id43">Known issues</a></li>
1517</ul>
1518</li>
1519<li class="toctree-l2"><a class="reference internal" href="change-log.html#id44">1.2 (2015-12-22)</a><ul>
1520<li class="toctree-l3"><a class="reference internal" href="change-log.html#id45">New features</a></li>
1521<li class="toctree-l3"><a class="reference internal" href="change-log.html#id46">Issues resolved since last release</a></li>
1522<li class="toctree-l3"><a class="reference internal" href="change-log.html#id47">Known issues</a></li>
1523</ul>
1524</li>
1525<li class="toctree-l2"><a class="reference internal" href="change-log.html#id48">1.1 (2015-02-04)</a><ul>
1526<li class="toctree-l3"><a class="reference internal" href="change-log.html#id49">New features</a></li>
1527<li class="toctree-l3"><a class="reference internal" href="change-log.html#id50">Issues resolved since last release</a></li>
1528<li class="toctree-l3"><a class="reference internal" href="change-log.html#id51">Known issues</a></li>
1529</ul>
1530</li>
1531<li class="toctree-l2"><a class="reference internal" href="change-log.html#id52">1.0 (2014-08-28)</a><ul>
1532<li class="toctree-l3"><a class="reference internal" href="change-log.html#id53">New features</a></li>
1533<li class="toctree-l3"><a class="reference internal" href="change-log.html#id54">Issues resolved since last release</a></li>
1534<li class="toctree-l3"><a class="reference internal" href="change-log.html#id55">Known issues</a></li>
1535</ul>
1536</li>
1537<li class="toctree-l2"><a class="reference internal" href="change-log.html#id56">0.4 (2014-06-03)</a><ul>
1538<li class="toctree-l3"><a class="reference internal" href="change-log.html#id57">New features</a></li>
1539<li class="toctree-l3"><a class="reference internal" href="change-log.html#id58">Issues resolved since last release</a></li>
1540<li class="toctree-l3"><a class="reference internal" href="change-log.html#id59">Known issues</a></li>
1541</ul>
1542</li>
1543<li class="toctree-l2"><a class="reference internal" href="change-log.html#id60">0.3 (2014-02-28)</a><ul>
1544<li class="toctree-l3"><a class="reference internal" href="change-log.html#id61">New features</a></li>
1545<li class="toctree-l3"><a class="reference internal" href="change-log.html#id62">Issues resolved since last release</a></li>
1546<li class="toctree-l3"><a class="reference internal" href="change-log.html#id63">Known issues</a></li>
1547</ul>
1548</li>
1549<li class="toctree-l2"><a class="reference internal" href="change-log.html#id64">0.2 (2013-10-25)</a><ul>
1550<li class="toctree-l3"><a class="reference internal" href="change-log.html#id65">New features</a></li>
1551<li class="toctree-l3"><a class="reference internal" href="change-log.html#id66">Issues resolved since last release</a></li>
1552<li class="toctree-l3"><a class="reference internal" href="change-log.html#id67">Known issues</a></li>
1553</ul>
1554</li>
1555</ul>
1556</li>
1557<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
1558<li class="toctree-l1"><a class="reference internal" href="license.html">License</a><ul>
1559<li class="toctree-l2"><a class="reference internal" href="license.html#spdx-identifiers">SPDX Identifiers</a></li>
1560<li class="toctree-l2"><a class="reference internal" href="license.html#other-projects">Other Projects</a></li>
1561</ul>
1562</li>
1563</ul>
1564
1565        </div>
1566      </div>
1567    </nav>
1568
1569    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
1570          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
1571          <a href="index.html">Trusted Firmware-A</a>
1572      </nav>
1573
1574      <div class="wy-nav-content">
1575        <div class="rst-content style-external-links">
1576          <div role="navigation" aria-label="Page navigation">
1577  <ul class="wy-breadcrumbs">
1578      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
1579      <li>Search</li>
1580      <li class="wy-breadcrumbs-aside">
1581      </li>
1582  </ul>
1583  <hr/>
1584</div>
1585          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
1586           <div itemprop="articleBody">
1587
1588  <noscript>
1589  <div id="fallback" class="admonition warning">
1590    <p class="last">
1591      Please activate JavaScript to enable the search functionality.
1592    </p>
1593  </div>
1594  </noscript>
1595
1596
1597  <div id="search-results">
1598
1599  </div>
1600
1601           </div>
1602          </div>
1603          <footer>
1604
1605  <hr/>
1606
1607  <div role="contentinfo">
1608    <p></p>
1609  </div>
1610
1611
1612
1613</footer>
1614        </div>
1615      </div>
1616    </section>
1617  </div>
1618  <script>
1619      jQuery(function () {
1620          SphinxRtdTheme.Navigation.enable(true);
1621      });
1622  </script>
1623  <script>
1624    jQuery(function() { Search.loadIndex("searchindex.js"); });
1625  </script>
1626
1627  <script id="searchindexloader"></script>
1628
1629
1630
1631</body>
1632</html>