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 — 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 & 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 & 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 & 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 & 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 & 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->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->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 & 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 & 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> »</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>