sphinx.addnodesdocument)}( rawsourcechildren](docutils.nodessubstitution_definition)}(h&.. |AArch32| replace:: :term:`AArch32`h]h pending_xref)}(h:term:`AArch32`h]h inline)}(hhh]h TextAArch32}(hhparenthuba attributes}(ids]classes](xrefstdstd-termenames]dupnames]backrefs]utagnamehh!hubah"}(h$]h&]h+]h-]h/]refdocgetting_started/prerequisites refdomainh)reftypeterm refexplicitrefwarn reftargetAArch32uh1hsource lineKh!h ubah"}(h$]h&]h+]AArch32ah-]h/]uh1h hAhBhCKh!hhhubh )}(h&.. |AArch64| replace:: :term:`AArch64`h]h)}(h:term:`AArch64`h]h)}(hhQh]hAArch64}(hhh!hSubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!hOubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainh]reftypeterm refexplicitrefwarnh?AArch64uh1hhAhBhCKh!hKubah"}(h$]h&]h+]AArch64ah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |AMU| replace:: :term:`AMU`h]h)}(h :term:`AMU`h]h)}(hh|h]hAMU}(hhh!h~ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!hzubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainhreftypeterm refexplicitrefwarnh?AMUuh1hhAhBhCKh!hvubah"}(h$]h&]h+]AMUah-]h/]uh1h hAhBhCKh!hhhubh )}(h&.. |AMUs| replace:: :term:`AMUs `h]h)}(h:term:`AMUs `h]h)}(hhh]hAMUs}(hhh!hubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!hubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainhreftypeterm refexplicitrefwarnh?AMUuh1hhAhBhCKh!hubah"}(h$]h&]h+]AMUsah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |API| replace:: :term:`API`h]h)}(h :term:`API`h]h)}(hhh]hAPI}(hhh!hubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!hubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainhތreftypeterm refexplicitrefwarnh?APIuh1hhAhBhCKh!hubah"}(h$]h&]h+]APIah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |BTI| replace:: :term:`BTI`h]h)}(h :term:`BTI`h]h)}(hhh]hBTI}(hhh!hubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!hubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?BTIuh1hhAhBhCKh!hubah"}(h$]h&]h+]BTIah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |CoT| replace:: :term:`CoT`h]h)}(h :term:`CoT`h]h)}(hj(h]hCoT}(hhh!j*ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j&ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj4reftypeterm refexplicitrefwarnh?CoTuh1hhAhBhCKh!j"ubah"}(h$]h&]h+]CoTah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |COT| replace:: :term:`COT`h]h)}(h :term:`COT`h]h)}(hjSh]hCOT}(hhh!jUubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jQubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj_reftypeterm refexplicitrefwarnh?COTuh1hhAhBhCKh!jMubah"}(h$]h&]h+]COTah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |CSS| replace:: :term:`CSS`h]h)}(h :term:`CSS`h]h)}(hj~h]hCSS}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j|ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?CSSuh1hhAhBhCK h!jxubah"}(h$]h&]h+]CSSah-]h/]uh1h hAhBhCK h!hhhubh )}(h.. |CVE| replace:: :term:`CVE`h]h)}(h :term:`CVE`h]h)}(hjh]hCVE}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?CVEuh1hhAhBhCK h!jubah"}(h$]h&]h+]CVEah-]h/]uh1h hAhBhCK h!hhhubh )}(h.. |DTB| replace:: :term:`DTB`h]h)}(h :term:`DTB`h]h)}(hjh]hDTB}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?DTBuh1hhAhBhCK h!jubah"}(h$]h&]h+]DTBah-]h/]uh1h hAhBhCK h!hhhubh )}(h .. |DS-5| replace:: :term:`DS-5`h]h)}(h :term:`DS-5`h]h)}(hjh]hDS-5}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?DS-5uh1hhAhBhCK h!jubah"}(h$]h&]h+]DS-5ah-]h/]uh1h hAhBhCK h!hhhubh )}(h.. |DSU| replace:: :term:`DSU`h]h)}(h :term:`DSU`h]h)}(hj*h]hDSU}(hhh!j,ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j(ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj6reftypeterm refexplicitrefwarnh?DSUuh1hhAhBhCK h!j$ubah"}(h$]h&]h+]DSUah-]h/]uh1h hAhBhCK h!hhhubh )}(h.. |DT| replace:: :term:`DT`h]h)}(h :term:`DT`h]h)}(hjUh]hDT}(hhh!jWubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jSubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjareftypeterm refexplicitrefwarnh?DTuh1hhAhBhCKh!jOubah"}(h$]h&]h+]DTah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |EL| replace:: :term:`EL`h]h)}(h :term:`EL`h]h)}(hjh]hEL}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j~ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?ELuh1hhAhBhCKh!jzubah"}(h$]h&]h+]ELah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |EHF| replace:: :term:`EHF`h]h)}(h :term:`EHF`h]h)}(hjh]hEHF}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?EHFuh1hhAhBhCKh!jubah"}(h$]h&]h+]EHFah-]h/]uh1h hAhBhCKh!hhhubh )}(h".. |FCONF| replace:: :term:`FCONF`h]h)}(h :term:`FCONF`h]h)}(hjh]hFCONF}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?FCONFuh1hhAhBhCKh!jubah"}(h$]h&]h+]FCONFah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |FDT| replace:: :term:`FDT`h]h)}(h :term:`FDT`h]h)}(hjh]hFDT}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?FDTuh1hhAhBhCKh!jubah"}(h$]h&]h+]FDTah-]h/]uh1h hAhBhCKh!hhhubh )}(h .. |FF-A| replace:: :term:`FF-A`h]h)}(h :term:`FF-A`h]h)}(hj,h]hFF-A}(hhh!j.ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j*ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj8reftypeterm refexplicitrefwarnh?FF-Auh1hhAhBhCKh!j&ubah"}(h$]h&]h+]FF-Aah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |FIP| replace:: :term:`FIP`h]h)}(h :term:`FIP`h]h)}(hjWh]hFIP}(hhh!jYubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jUubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjcreftypeterm refexplicitrefwarnh?FIPuh1hhAhBhCKh!jQubah"}(h$]h&]h+]FIPah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |FVP| replace:: :term:`FVP`h]h)}(h :term:`FVP`h]h)}(hjh]hFVP}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?FVPuh1hhAhBhCKh!j|ubah"}(h$]h&]h+]FVPah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |FWU| replace:: :term:`FWU`h]h)}(h :term:`FWU`h]h)}(hjh]hFWU}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?FWUuh1hhAhBhCKh!jubah"}(h$]h&]h+]FWUah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |GIC| replace:: :term:`GIC`h]h)}(h :term:`GIC`h]h)}(hjh]hGIC}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?GICuh1hhAhBhCKh!jubah"}(h$]h&]h+]GICah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |ISA| replace:: :term:`ISA`h]h)}(h :term:`ISA`h]h)}(hjh]hISA}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?ISAuh1hhAhBhCKh!jubah"}(h$]h&]h+]ISAah-]h/]uh1h hAhBhCKh!hhhubh )}(h$.. |Linaro| replace:: :term:`Linaro`h]h)}(h:term:`Linaro`h]h)}(hj.h]hLinaro}(hhh!j0ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j,ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj:reftypeterm refexplicitrefwarnh?Linarouh1hhAhBhCKh!j(ubah"}(h$]h&]h+]Linaroah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |MMU| replace:: :term:`MMU`h]h)}(h :term:`MMU`h]h)}(hjYh]hMMU}(hhh!j[ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jWubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjereftypeterm refexplicitrefwarnh?MMUuh1hhAhBhCKh!jSubah"}(h$]h&]h+]MMUah-]h/]uh1h hAhBhCKh!hhhubh )}(h .. |MPAM| replace:: :term:`MPAM`h]h)}(h :term:`MPAM`h]h)}(hjh]hMPAM}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?MPAMuh1hhAhBhCKh!j~ubah"}(h$]h&]h+]MPAMah-]h/]uh1h hAhBhCKh!hhhubh )}(h .. |MPMM| replace:: :term:`MPMM`h]h)}(h :term:`MPMM`h]h)}(hjh]hMPMM}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?MPMMuh1hhAhBhCKh!jubah"}(h$]h&]h+]MPMMah-]h/]uh1h hAhBhCKh!hhhubh )}(h".. |MPIDR| replace:: :term:`MPIDR`h]h)}(h :term:`MPIDR`h]h)}(hjh]hMPIDR}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?MPIDRuh1hhAhBhCKh!jubah"}(h$]h&]h+]MPIDRah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |MTE| replace:: :term:`MTE`h]h)}(h :term:`MTE`h]h)}(hjh]hMTE}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?MTEuh1hhAhBhCKh!jubah"}(h$]h&]h+]MTEah-]h/]uh1h hAhBhCKh!hhhubh )}(h.. |OEN| replace:: :term:`OEN`h]h)}(h :term:`OEN`h]h)}(hj0h]hOEN}(hhh!j2ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j.ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj<reftypeterm refexplicitrefwarnh?OENuh1hhAhBhCKh!j*ubah"}(h$]h&]h+]OENah-]h/]uh1h hAhBhCKh!hhhubh )}(h$.. |OP-TEE| replace:: :term:`OP-TEE`h]h)}(h:term:`OP-TEE`h]h)}(hj[h]hOP-TEE}(hhh!j]ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jYubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjgreftypeterm refexplicitrefwarnh?OP-TEEuh1hhAhBhCK h!jUubah"}(h$]h&]h+]OP-TEEah-]h/]uh1h hAhBhCK h!hhhubh )}(h.. |OTE| replace:: :term:`OTE`h]h)}(h :term:`OTE`h]h)}(hjh]hOTE}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?OTEuh1hhAhBhCK!h!jubah"}(h$]h&]h+]OTEah-]h/]uh1h hAhBhCK!h!hhhubh )}(h.. |PDD| replace:: :term:`PDD`h]h)}(h :term:`PDD`h]h)}(hjh]hPDD}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?PDDuh1hhAhBhCK"h!jubah"}(h$]h&]h+]PDDah-]h/]uh1h hAhBhCK"h!hhhubh )}(h".. |PAUTH| replace:: :term:`PAUTH`h]h)}(h :term:`PAUTH`h]h)}(hjh]hPAUTH}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?PAUTHuh1hhAhBhCK#h!jubah"}(h$]h&]h+]PAUTHah-]h/]uh1h hAhBhCK#h!hhhubh )}(h.. |PMF| replace:: :term:`PMF`h]h)}(h :term:`PMF`h]h)}(hjh]hPMF}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?PMFuh1hhAhBhCK$h!jubah"}(h$]h&]h+]PMFah-]h/]uh1h hAhBhCK$h!hhhubh )}(h .. |PSCI| replace:: :term:`PSCI`h]h)}(h :term:`PSCI`h]h)}(hj2h]hPSCI}(hhh!j4ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j0ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj>reftypeterm refexplicitrefwarnh?PSCIuh1hhAhBhCK%h!j,ubah"}(h$]h&]h+]PSCIah-]h/]uh1h hAhBhCK%h!hhhubh )}(h.. |RAS| replace:: :term:`RAS`h]h)}(h :term:`RAS`h]h)}(hj]h]hRAS}(hhh!j_ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j[ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjireftypeterm refexplicitrefwarnh?RASuh1hhAhBhCK&h!jWubah"}(h$]h&]h+]RASah-]h/]uh1h hAhBhCK&h!hhhubh )}(h.. |ROT| replace:: :term:`ROT`h]h)}(h :term:`ROT`h]h)}(hjh]hROT}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?ROTuh1hhAhBhCK'h!jubah"}(h$]h&]h+]ROTah-]h/]uh1h hAhBhCK'h!hhhubh )}(h .. |SCMI| replace:: :term:`SCMI`h]h)}(h :term:`SCMI`h]h)}(hjh]hSCMI}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SCMIuh1hhAhBhCK(h!jubah"}(h$]h&]h+]SCMIah-]h/]uh1h hAhBhCK(h!hhhubh )}(h.. |SCP| replace:: :term:`SCP`h]h)}(h :term:`SCP`h]h)}(hjh]hSCP}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SCPuh1hhAhBhCK)h!jubah"}(h$]h&]h+]SCPah-]h/]uh1h hAhBhCK)h!hhhubh )}(h .. |SDEI| replace:: :term:`SDEI`h]h)}(h :term:`SDEI`h]h)}(hj h]hSDEI}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SDEIuh1hhAhBhCK*h!jubah"}(h$]h&]h+]SDEIah-]h/]uh1h hAhBhCK*h!hhhubh )}(h.. |SDS| replace:: :term:`SDS`h]h)}(h :term:`SDS`h]h)}(hj4h]hSDS}(hhh!j6ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j2ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj@reftypeterm refexplicitrefwarnh?SDSuh1hhAhBhCK+h!j.ubah"}(h$]h&]h+]SDSah-]h/]uh1h hAhBhCK+h!hhhubh )}(h.. |SEA| replace:: :term:`SEA`h]h)}(h :term:`SEA`h]h)}(hj_h]hSEA}(hhh!jaubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j]ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjkreftypeterm refexplicitrefwarnh?SEAuh1hhAhBhCK,h!jYubah"}(h$]h&]h+]SEAah-]h/]uh1h hAhBhCK,h!hhhubh )}(h.. |SiP| replace:: :term:`SiP`h]h)}(h :term:`SiP`h]h)}(hjh]hSiP}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SiPuh1hhAhBhCK-h!jubah"}(h$]h&]h+]SiPah-]h/]uh1h hAhBhCK-h!hhhubh )}(h.. |SIP| replace:: :term:`SIP`h]h)}(h :term:`SIP`h]h)}(hjh]hSIP}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SIPuh1hhAhBhCK.h!jubah"}(h$]h&]h+]SIPah-]h/]uh1h hAhBhCK.h!hhhubh )}(h.. |SMC| replace:: :term:`SMC`h]h)}(h :term:`SMC`h]h)}(hjh]hSMC}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SMCuh1hhAhBhCK/h!jubah"}(h$]h&]h+]SMCah-]h/]uh1h hAhBhCK/h!hhhubh )}(h".. |SMCCC| replace:: :term:`SMCCC`h]h)}(h :term:`SMCCC`h]h)}(hj h]hSMCCC}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SMCCCuh1hhAhBhCK0h!jubah"}(h$]h&]h+]SMCCCah-]h/]uh1h hAhBhCK0h!hhhubh )}(h.. |SoC| replace:: :term:`SoC`h]h)}(h :term:`SoC`h]h)}(hj6h]hSoC}(hhh!j8ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j4ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjBreftypeterm refexplicitrefwarnh?SoCuh1hhAhBhCK1h!j0ubah"}(h$]h&]h+]SoCah-]h/]uh1h hAhBhCK1h!hhhubh )}(h.. |SP| replace:: :term:`SP`h]h)}(h :term:`SP`h]h)}(hjah]hSP}(hhh!jcubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j_ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjmreftypeterm refexplicitrefwarnh?SPuh1hhAhBhCK2h!j[ubah"}(h$]h&]h+]SPah-]h/]uh1h hAhBhCK2h!hhhubh )}(h.. |SPD| replace:: :term:`SPD`h]h)}(h :term:`SPD`h]h)}(hjh]hSPD}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SPDuh1hhAhBhCK3h!jubah"}(h$]h&]h+]SPDah-]h/]uh1h hAhBhCK3h!hhhubh )}(h.. |SPM| replace:: :term:`SPM`h]h)}(h :term:`SPM`h]h)}(hjh]hSPM}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SPMuh1hhAhBhCK4h!jubah"}(h$]h&]h+]SPMah-]h/]uh1h hAhBhCK4h!hhhubh )}(h .. |SSBS| replace:: :term:`SSBS`h]h)}(h :term:`SSBS`h]h)}(hjh]hSSBS}(hhh!jubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypeterm refexplicitrefwarnh?SSBSuh1hhAhBhCK5h!jubah"}(h$]h&]h+]SSBSah-]h/]uh1h hAhBhCK5h!hhhubh )}(h.. |SVE| replace:: :term:`SVE`h]h)}(h :term:`SVE`h]h)}(hj h]hSVE}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?SVEuh1hhAhBhCK6h!j ubah"}(h$]h&]h+]SVEah-]h/]uh1h hAhBhCK6h!hhhubh )}(h.. |TBB| replace:: :term:`TBB`h]h)}(h :term:`TBB`h]h)}(hj8 h]hTBB}(hhh!j: ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j6 ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjD reftypeterm refexplicitrefwarnh?TBBuh1hhAhBhCK7h!j2 ubah"}(h$]h&]h+]TBBah-]h/]uh1h hAhBhCK7h!hhhubh )}(h .. |TBBR| replace:: :term:`TBBR`h]h)}(h :term:`TBBR`h]h)}(hjc h]hTBBR}(hhh!je ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!ja ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjo reftypeterm refexplicitrefwarnh?TBBRuh1hhAhBhCK8h!j] ubah"}(h$]h&]h+]TBBRah-]h/]uh1h hAhBhCK8h!hhhubh )}(h.. |TEE| replace:: :term:`TEE`h]h)}(h :term:`TEE`h]h)}(hj h]hTEE}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?TEEuh1hhAhBhCK9h!j ubah"}(h$]h&]h+]TEEah-]h/]uh1h hAhBhCK9h!hhhubh )}(h .. |TF-A| replace:: :term:`TF-A`h]h)}(h :term:`TF-A`h]h)}(hj h]hTF-A}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?TF-Auh1hhAhBhCK:h!j ubah"}(h$]h&]h+]TF-Aah-]h/]uh1h hAhBhCK:h!hhhubh )}(h .. |TF-M| replace:: :term:`TF-M`h]h)}(h :term:`TF-M`h]h)}(hj h]hTF-M}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?TF-Muh1hhAhBhCK;h!j ubah"}(h$]h&]h+]TF-Mah-]h/]uh1h hAhBhCK;h!hhhubh )}(h.. |TLB| replace:: :term:`TLB`h]h)}(h :term:`TLB`h]h)}(hj h]hTLB}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?TLBuh1hhAhBhCKh!j_ ubah"}(h$]h&]h+]TRNGah-]h/]uh1h hAhBhCK>h!hhhubh )}(h.. |TSP| replace:: :term:`TSP`h]h)}(h :term:`TSP`h]h)}(hj h]hTSP}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?TSPuh1hhAhBhCK?h!j ubah"}(h$]h&]h+]TSPah-]h/]uh1h hAhBhCK?h!hhhubh )}(h.. |TZC| replace:: :term:`TZC`h]h)}(h :term:`TZC`h]h)}(hj h]hTZC}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?TZCuh1hhAhBhCK@h!j ubah"}(h$]h&]h+]TZCah-]h/]uh1h hAhBhCK@h!hhhubh )}(h".. |UBSAN| replace:: :term:`UBSAN`h]h)}(h :term:`UBSAN`h]h)}(hj h]hUBSAN}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?UBSANuh1hhAhBhCKAh!j ubah"}(h$]h&]h+]UBSANah-]h/]uh1h hAhBhCKAh!hhhubh )}(h .. |UEFI| replace:: :term:`UEFI`h]h)}(h :term:`UEFI`h]h)}(hj h]hUEFI}(hhh!j ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypeterm refexplicitrefwarnh?UEFIuh1hhAhBhCKBh!j ubah"}(h$]h&]h+]UEFIah-]h/]uh1h hAhBhCKBh!hhhubh )}(h .. |WDOG| replace:: :term:`WDOG`h]h)}(h :term:`WDOG`h]h)}(hj< h]hWDOG}(hhh!j> ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!j: ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjH reftypeterm refexplicitrefwarnh?WDOGuh1hhAhBhCKCh!j6 ubah"}(h$]h&]h+]WDOGah-]h/]uh1h hAhBhCKCh!hhhubh )}(h!.. |XLAT| replace:: :term:`XLAT` h]h)}(h :term:`XLAT`h]h)}(hjg h]hXLAT}(hhh!ji ubah"}(h$]h&](h(stdstd-termeh+]h-]h/]uh1hh!je ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjs reftypeterm refexplicitrefwarnh?XLATuh1hhAhBhCKDh!ja ubah"}(h$]h&]h+]XLATah-]h/]uh1h hAhBhCKDh!hhhubh section)}(hhh](h title)}(h Prerequisitesh]h Prerequisites}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhA^/home/test/workspace/code/optee_3.16/trusted-firmware-a/docs/getting_started/prerequisites.rsthCKubh paragraph)}(hoThis document describes the software requirements for building |TF-A| for AArch32 and AArch64 target platforms.h](h?This document describes the software requirements for building }(h?This document describes the software requirements for building h!j hhhANhCNubh)}(hj h]h)}(hj h]hTF-A}(hhh!j ubah"}(h$]h&](h(j j eh+]h-]h/]uh1hhANhCNh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypej refexplicitrefwarn reftargetj uh1hhAhBhCK:h!j hhubh* for AArch32 and AArch64 target platforms.}(h* for AArch32 and AArch64 target platforms.h!j hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j hhubj )}(hIt may possible to build |TF-A| with combinations of software packages that are different from those listed below, however only the software described in this document can be officially supported.h](hIt may possible to build }(hIt may possible to build h!j hhhANhCNubh)}(hj h]h)}(hj h]hTF-A}(hhh!j ubah"}(h$]h&](h(j j eh+]h-]h/]uh1hhANhCNh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypej refexplicitrefwarn reftargetj uh1hhAhBhCK:h!j hhubh with combinations of software packages that are different from those listed below, however only the software described in this document can be officially supported.}(h with combinations of software packages that are different from those listed below, however only the software described in this document can be officially supported.h!j hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j hhubj )}(hhh](j )}(h Build Hosth]h Build Host}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCK ubj )}(hP|TF-A| can be built using either a Linux or a Windows machine as the build host.h](h)}(hj h]h)}(hj h]hTF-A}(hhh!j ubah"}(h$]h&](h(j j eh+]h-]h/]uh1hhANhCNh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypej refexplicitrefwarn reftargetj uh1hhAhBhCK:h!j hhubhJ can be built using either a Linux or a Windows machine as the build host.}(hJ can be built using either a Linux or a Windows machine as the build host.h!j hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j hhubj )}(hA relatively recent Linux distribution is recommended for building |TF-A|. We have performed tests using Ubuntu 16.04 LTS (64-bit) but other distributions should also work fine as a base, provided that the necessary tools and libraries can be installed.h](hCA relatively recent Linux distribution is recommended for building }(hCA relatively recent Linux distribution is recommended for building h!j@ hhhANhCNubh)}(hj h]h)}(hj h]hTF-A}(hhh!jL ubah"}(h$]h&](h(j j eh+]h-]h/]uh1hhANhCNh!jI ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypej refexplicitrefwarn reftargetj uh1hhAhBhCK:h!j@ hhubh. We have performed tests using Ubuntu 16.04 LTS (64-bit) but other distributions should also work fine as a base, provided that the necessary tools and libraries can be installed.}(h. We have performed tests using Ubuntu 16.04 LTS (64-bit) but other distributions should also work fine as a base, provided that the necessary tools and libraries can be installed.h!j@ hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j hhubh target)}(h.. _prerequisites_toolchain:h]h"}(h$]h&]h+]h-]h/]refidprerequisites-toolchainuh1jp hCKZh!j hhhAj ubeh"}(h$] build-hostah&]h+] build hostah-]h/]uh1j h!j hhhAj hCK ubj )}(hhh](j )}(h Toolchainh]h Toolchain}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCKubj )}(h{|TF-A| can be built with any of the following *cross-compiler* toolchains that target the Armv7-A or Armv8-A architectures:h](h)}(hj h]h)}(hj h]hTF-A}(hhh!j ubah"}(h$]h&](h(j j eh+]h-]h/]uh1hhANhCNh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypej refexplicitrefwarn reftargetj uh1hhAhBhCK:h!j hhubh( can be built with any of the following }(h( can be built with any of the following h!j hhhANhCNubh emphasis)}(h*cross-compiler*h]hcross-compiler}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubh= toolchains that target the Armv7-A or Armv8-A architectures:}(h= toolchains that target the Armv7-A or Armv8-A architectures:h!j hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j hhubh bullet_list)}(hhh](h list_item)}(h7GCC >= 10.3-2021.07 (from the `Arm Developer website`_)h]j )}(hj h](hGCC >= 10.3-2021.07 (from the }(hGCC >= 10.3-2021.07 (from the h!j ubh reference)}(h`Arm Developer website`_h]hArm Developer website}(hArm Developer websiteh!j ubah"}(h$]h&]h+]h-]h/]nameArm Developer websiterefuriChttps://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloadsuh1j h!j resolvedKubh)}(h)h!j ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h Clang >= 4.0h]j )}(hj h]h Clang >= 4.0}(hj h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(hArm Compiler >= 6.0 h]j )}(hArm Compiler >= 6.0h]hArm Compiler >= 6.0}(hj. h!j, ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j( ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubeh"}(h$]h&]h+]h-]h/]bullet-uh1j hAj hCKh!j hhubj )}(hIIn addition, a native compiler is required to build the supporting tools.h]hIIn addition, a native compiler is required to build the supporting tools.}(hjJ h!jH hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK!h!j hhubh note)}(hThe software has also been built on Windows 7 Enterprise SP1, using CMD.EXE, Cygwin, and Msys (MinGW) shells, using version 5.3.1 of the GNU toolchain.h]j )}(hThe software has also been built on Windows 7 Enterprise SP1, using CMD.EXE, Cygwin, and Msys (MinGW) shells, using version 5.3.1 of the GNU toolchain.h]hThe software has also been built on Windows 7 Enterprise SP1, using CMD.EXE, Cygwin, and Msys (MinGW) shells, using version 5.3.1 of the GNU toolchain.}(hj^ h!j\ ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK$h!jX ubah"}(h$]h&]h+]h-]h/]uh1jV h!j hhhAj hCNubjW )}(haFor instructions on how to select the cross compiler refer to :ref:`Performing an Initial Build`.h]j )}(haFor instructions on how to select the cross compiler refer to :ref:`Performing an Initial Build`.h](h>For instructions on how to select the cross compiler refer to }(h>For instructions on how to select the cross compiler refer to h!jt ubh)}(h":ref:`Performing an Initial Build`h]h)}(hj h]hPerforming an Initial Build}(hhh!j ubah"}(h$]h&](h(stdstd-refeh+]h-]h/]uh1hh!j} ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftyperef refexplicitrefwarnh?performing an initial builduh1hhAj hCK(h!jt ubh.}(h.h!jt ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK(h!jp ubah"}(h$]h&]h+]h-]h/]uh1jV h!j hhhAj hCNubjq )}(h).. _prerequisites_software_and_libraries:h]h"}(h$]h&]h+]h-]h/]j| $prerequisites-software-and-librariesuh1jp hCKph!j hhhAj ubeh"}(h$]( toolchainj} eh&]h+]( toolchainprerequisites_toolchaineh-]h/]uh1j h!j hhhAj hCKexpect_referenced_by_name}j jr sexpect_referenced_by_id}j} jr subj )}(hhh](j )}(hSoftware and Librariesh]hSoftware and Libraries}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCK.ubj )}(h= 1.0.1 Required to build the cert_create tool. h](j )}(hOpenSSL >= 1.0.1h]hOpenSSL >= 1.0.1}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK9h!jubh block_quote)}(hhh]j )}(h'Required to build the cert_create tool.h]h'Required to build the cert_create tool.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK;h!jubah"}(h$]h&]h+]h-]h/]uh1jh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubah"}(h$]h&]h+]h-]h/]jF jG uh1j hAj hCK9h!j hhubj )}(hDThe following libraries are required for Trusted Board Boot support:h]hDThe following libraries are required for Trusted Board Boot support:}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK=h!j hhubj )}(hhh]j )}(h-mbed TLS == 2.26.0 (tag: ``mbedtls-2.26.0``) h]j )}(h,mbed TLS == 2.26.0 (tag: ``mbedtls-2.26.0``)h](hmbed TLS == 2.26.0 (tag: }(hmbed TLS == 2.26.0 (tag: h!jubh literal)}(h``mbedtls-2.26.0``h]hmbedtls-2.26.0}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1jh!jubh)}(hj h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK?h!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubah"}(h$]h&]h+]h-]h/]jF jG uh1j hAj hCK?h!j hhubj )}(hThese tools are optional:h]hThese tools are optional:}(hj h!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKAh!j hhubj )}(hhh](j )}(hDevice Tree Compiler (DTC) >= 1.4.6 Needed if you want to rebuild the provided Flattened Device Tree (FDT) source files (``.dts`` files). DTC is available for Linux through the package repositories of most distributions. h](j )}(h#Device Tree Compiler (DTC) >= 1.4.6h]h#Device Tree Compiler (DTC) >= 1.4.6}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKCh!jubj)}(hhh]j )}(hNeeded if you want to rebuild the provided Flattened Device Tree (FDT) source files (``.dts`` files). DTC is available for Linux through the package repositories of most distributions.h](hUNeeded if you want to rebuild the provided Flattened Device Tree (FDT) source files (}(hUNeeded if you want to rebuild the provided Flattened Device Tree (FDT) source files (h!j-ubj)}(h``.dts``h]h.dts}(hhh!j6ubah"}(h$]h&]h+]h-]h/]uh1jh!j-ubh[ files). DTC is available for Linux through the package repositories of most distributions.}(h[ files). DTC is available for Linux through the package repositories of most distributions.h!j-ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKEh!j*ubah"}(h$]h&]h+]h-]h/]uh1jh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hArm `Development Studio 5 (DS-5)`_ The standard software package used for debugging software on Arm development platforms and |FVP| models. h](j )}(h"Arm `Development Studio 5 (DS-5)`_h](hArm }(hArm h!j_ubj )}(h`Development Studio 5 (DS-5)`_h]hDevelopment Studio 5 (DS-5)}(hDevelopment Studio 5 (DS-5)h!jhubah"}(h$]h&]h+]h-]h/]nameDevelopment Studio 5 (DS-5)j Uhttps://developer.arm.com/products/software-development-tools/ds-5-development-studiouh1j h!j_j Kubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKIh!j[ubj)}(hhh]j )}(hhThe standard software package used for debugging software on Arm development platforms and |FVP| models.h](h[The standard software package used for debugging software on Arm development platforms and }(h[The standard software package used for debugging software on Arm development platforms and h!jubh)}(hjh]h)}(hjh]hFVP}(hhh!jubah"}(h$]h&](h(jjeh+]h-]h/]uh1hhANhCNh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypej refexplicitrefwarn reftargetjuh1hhAhBhCKh!jubh models.}(h models.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKKh!jubah"}(h$]h&]h+]h-]h/]uh1jh!j[ubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hNode.js >= 16 Highly recommended, and necessary in order to install and use the packaged Git hooks and helper tools. Without these tools you will need to rely on the CI for feedback on commit message conformance. h](j )}(h Node.js >= 16h]h Node.js >= 16}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKNh!jubj)}(hhh]j )}(hHighly recommended, and necessary in order to install and use the packaged Git hooks and helper tools. Without these tools you will need to rely on the CI for feedback on commit message conformance.h]hHighly recommended, and necessary in order to install and use the packaged Git hooks and helper tools. Without these tools you will need to rely on the CI for feedback on commit message conformance.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKPh!jubah"}(h$]h&]h+]h-]h/]uh1jh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubeh"}(h$]h&]h+]h-]h/]jF jG uh1j hAj hCKCh!j hhubj )}(hhh](j )}(hPackage Installation (Linux)h]hPackage Installation (Linux)}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCKUubj )}(h{If you are using the recommended Ubuntu distribution then you can install the required packages with the following command:h]h{If you are using the recommended Ubuntu distribution then you can install the required packages with the following command:}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKWh!jhhubh literal_block)}(h/sudo apt install build-essential git libssl-devh]h/sudo apt install build-essential git libssl-dev}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args} xml:spacepreservelanguageshelluh1jhAj hCKZh!jhhubj )}(h-The optional packages can be installed using:h]h-The optional packages can be installed using:}(hj,h!j*hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK^h!jhhubj)}(h%sudo apt install device-tree-compilerh]h%sudo apt install device-tree-compiler}(hhh!j8ubah"}(h$]h&]h+]h-]h/]forcehighlight_args}j&j'j(shelluh1jhAj hCK`h!jhhubj )}(hAdditionally, to install an up-to-date version of Node.js, you can use the `Node Version Manager`_ to install a version of your choosing (we recommend 16, but later LTS versions might offer a more stable experience):h](hKAdditionally, to install an up-to-date version of Node.js, you can use the }(hKAdditionally, to install an up-to-date version of Node.js, you can use the h!jJhhhANhCNubj )}(h`Node Version Manager`_h]hNode Version Manager}(hNode Version Managerh!jSubah"}(h$]h&]h+]h-]h/]nameNode Version Managerj 4https://github.com/nvm-sh/nvm#install--update-scriptuh1j h!jJj Kubhv to install a version of your choosing (we recommend 16, but later LTS versions might offer a more stable experience):}(hv to install a version of your choosing (we recommend 16, but later LTS versions might offer a more stable experience):h!jJhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKdh!jhhubj)}(hcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | "$SHELL" exec "$SHELL" -ic "nvm install 16; exec $SHELL"h]hcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | "$SHELL" exec "$SHELL" -ic "nvm install 16; exec $SHELL"}(hhh!jpubah"}(h$]h&]h+]h-]h/]forcehighlight_args}j&j'j(shelluh1jhAj hCKhh!jhhubjq )}(hN.. _Node Version Manager: https://github.com/nvm-sh/nvm#install--update-scripth]h"}(h$]node-version-managerah&]h+]node version managerah-]h/]j jduh1jp hCKh!jhhhAj referencedKubeh"}(h$]package-installation-linuxah&]h+]package installation (linux)ah-]h/]uh1j h!j hhhAj hCKUubeh"}(h$](software-and-librariesj eh&]h+](software and libraries$prerequisites_software_and_librarieseh-]h/]uh1j h!j hhhAj hCK.j }jj sj }j j subj )}(hhh](j )}(hSupporting Filesh]hSupporting Files}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCKpubj )}(hTF-A has been tested with pre-built binaries and file systems from `Linaro Release 20.01`_. Alternatively, you can build the binaries from source using instructions in :ref:`Performing an Initial Build`.h](hCTF-A has been tested with pre-built binaries and file systems from }(hCTF-A has been tested with pre-built binaries and file systems from h!jhhhANhCNubj )}(h`Linaro Release 20.01`_h]hLinaro Release 20.01}(hLinaro Release 20.01h!jubah"}(h$]h&]h+]h-]h/]nameLinaro Release 20.01j 6http://releases.linaro.org/members/arm/platforms/20.01uh1j h!jj KubhN. Alternatively, you can build the binaries from source using instructions in }(hN. Alternatively, you can build the binaries from source using instructions in h!jhhhANhCNubh)}(h":ref:`Performing an Initial Build`h]h)}(hjh]hPerforming an Initial Build}(hhh!jubah"}(h$]h&](h(stdstd-refeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftyperef refexplicitrefwarnh?performing an initial builduh1hhAj hCKrh!jubh.}(hj h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKrh!jhhubjq )}(h.. _prerequisites_get_source:h]h"}(h$]h&]h+]h-]h/]j| prerequisites-get-sourceuh1jp hCKh!jhhhAj ubeh"}(h$]supporting-filesah&]h+]supporting filesah-]h/]uh1j h!j hhhAj hCKpubj )}(hhh](j )}(hGetting the TF-A Sourceh]hGetting the TF-A Source}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCKyubj )}(hSource code for |TF-A| is maintained in a Git repository hosted on TrustedFirmware.org. To clone this repository from the server, run the following in your shell:h](hSource code for }(hSource code for h!j!hhhANhCNubh)}(hj h]h)}(hj h]hTF-A}(hhh!j-ubah"}(h$]h&](h(j j eh+]h-]h/]uh1hhANhCNh!j*ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainj reftypej refexplicitrefwarn reftargetj uh1hhAhBhCK:h!j!hhubh is maintained in a Git repository hosted on TrustedFirmware.org. To clone this repository from the server, run the following in your shell:}(h is maintained in a Git repository hosted on TrustedFirmware.org. To clone this repository from the server, run the following in your shell:h!j!hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK{h!jhhubj)}(hFgit clone "https://review.trustedfirmware.org/TF-A/trusted-firmware-a"h]hFgit clone "https://review.trustedfirmware.org/TF-A/trusted-firmware-a"}(hhh!jQubah"}(h$]h&]h+]h-]h/]forcehighlight_args}j&j'j(shelluh1jhAj hCKh!jhhubj )}(hhh](j )}(h!Additional Steps for Contributorsh]h!Additional Steps for Contributors}(hjhh!jfhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jchhhAj hCKubj )}(h\If you are planning on contributing back to TF-A, there are some things you'll want to know.h]h^If you are planning on contributing back to TF-A, there are some things you’ll want to know.}(hjvh!jthhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jchhubj )}(hTF-A is hosted by a `Gerrit Code Review`_ server. Gerrit requires that all commits include a ``Change-Id`` footer, and this footer is typically automatically generated by a Git hook installed by you, the developer.h](hTF-A is hosted by a }(hTF-A is hosted by a h!jhhhANhCNubj )}(h`Gerrit Code Review`_h]hGerrit Code Review}(hGerrit Code Reviewh!jubah"}(h$]h&]h+]h-]h/]nameGerrit Code Reviewj !https://www.gerritcodereview.com/uh1j h!jj Kubh4 server. Gerrit requires that all commits include a }(h4 server. Gerrit requires that all commits include a h!jhhhANhCNubj)}(h ``Change-Id``h]h Change-Id}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1jh!jubhl footer, and this footer is typically automatically generated by a Git hook installed by you, the developer.}(hl footer, and this footer is typically automatically generated by a Git hook installed by you, the developer.h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jchhubj )}(hIf you have Node.js installed already, you can automatically install this hook, along with any additional hooks and Javascript-based tooling that we use, by running from within your newly-cloned repository:h]hIf you have Node.js installed already, you can automatically install this hook, along with any additional hooks and Javascript-based tooling that we use, by running from within your newly-cloned repository:}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jchhubj)}(hnpm install --no-saveh]hnpm install --no-save}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}j&j'j(shelluh1jhAj hCKh!jchhubj )}(hbIf you have opted **not** to install Node.js, you can install the Gerrit hook manually by running:h](hIf you have opted }(hIf you have opted h!jhhhANhCNubh strong)}(h**not**h]hnot}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1jh!jubhI to install Node.js, you can install the Gerrit hook manually by running:}(hI to install Node.js, you can install the Gerrit hook manually by running:h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jchhubj)}(hcurl -Lo $(git rev-parse --git-dir)/hooks/commit-msg https://review.trustedfirmware.org/tools/hooks/commit-msg chmod +x $(git rev-parse --git-dir)/hooks/commit-msgh]hcurl -Lo $(git rev-parse --git-dir)/hooks/commit-msg https://review.trustedfirmware.org/tools/hooks/commit-msg chmod +x $(git rev-parse --git-dir)/hooks/commit-msg}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}j&j'j(shelluh1jhAj hCKh!jchhubj )}(hYou can read more about Git hooks in the *githooks* page of the Git documentation, available `here `_.h](h)You can read more about Git hooks in the }(h)You can read more about Git hooks in the h!jhhhANhCNubj )}(h *githooks*h]hgithooks}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh* page of the Git documentation, available }(h* page of the Git documentation, available h!jhhhANhCNubj )}(h+`here `_h]hhere}(hhereh!j-ubah"}(h$]h&]h+]h-]h/]namej5j !https://git-scm.com/docs/githooksuh1j h!jubjq )}(h$ h]h"}(h$]hereah&]h+]hereah-]h/]refurij=uh1jp jKh!jubh.}(hj h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jchhubh transition)}(h--------------h]h"}(h$]h&]h+]h-]h/]uh1jUhAj hCKh!jchhubj )}(h7*Copyright (c) 2021, Arm Limited. All rights reserved.*h]j )}(hjch]h5Copyright (c) 2021, Arm Limited. All rights reserved.}(hhh!jeubah"}(h$]h&]h+]h-]h/]uh1j h!jaubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jchhubjq )}(h^.. _Arm Developer website: https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloadsh]h"}(h$]arm-developer-websiteah&]h+]arm developer websiteah-]h/]j j uh1jp hCKh!jchhhAj jKubjq )}(h9.. _Gerrit Code Review: https://www.gerritcodereview.com/h]h"}(h$]gerrit-code-reviewah&]h+]gerrit code reviewah-]h/]j juh1jp hCKh!jchhhAj jKubjq )}(h^.. _Linaro Release Notes: https://community.arm.com/dev-platforms/w/docs/226/old-release-notesh]h"}(h$]linaro-release-notesah&]h+]linaro release notesah-]h/]j Dhttps://community.arm.com/dev-platforms/w/docs/226/old-release-notesuh1jp hCKh!jchhhAj ubjq )}(hp.. _Linaro instructions: https://community.arm.com/dev-platforms/w/docs/304/arm-reference-platforms-deliverablesh]h"}(h$]linaro-instructionsah&]h+]linaro instructionsah-]h/]j Whttps://community.arm.com/dev-platforms/w/docs/304/arm-reference-platforms-deliverablesuh1jp hCKh!jchhhAj ubjq )}(hv.. _Development Studio 5 (DS-5): https://developer.arm.com/products/software-development-tools/ds-5-development-studioh]h"}(h$]development-studio-5-ds-5ah&]h+]development studio 5 (ds-5)ah-]h/]j jyuh1jp hCKh!jchhhAj jKubjq )}(hP.. _Linaro Release 20.01: http://releases.linaro.org/members/arm/platforms/20.01h]h"}(h$]linaro-release-20-01ah&]h+]linaro release 20.01ah-]h/]j juh1jp hCKh!jchhhAj jKubeh"}(h$]!additional-steps-for-contributorsah&]h+]!additional steps for contributorsah-]h/]uh1j h!jhhhAj hCKubeh"}(h$](getting-the-tf-a-sourcejeh&]h+](getting the tf-a sourceprerequisites_get_sourceeh-]h/]uh1j h!j hhhAj hCKyj }jjsj }jjsubeh"}(h$] prerequisitesah&]h+] prerequisitesah-]h/]uh1j h!hhhhAj hCKubeh"}(h$]h&]h+]h-]h/]sourcej uh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(j N generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcej _destinationN _config_files]pep_referencesN pep_base_url https://www.python.org/dev/peps/pep_file_url_templatepep-%04drfc_referencesN rfc_base_urlhttps://tools.ietf.org/html/ tab_widthKtrim_footnote_reference_spacefile_insertion_enabled raw_enabledKsyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xformembed_stylesheetcloak_email_addressesenvNubreporterNindirect_targets]substitution_defs}(hHh hshKhhvhhhhjhjJj"jujMjjxjjjjj!jjLj$jwjOjjzjjjjj#jjNj&jyjQjj|jjjjj%jjPj(j{jSjj~jjjjj'jjRj*j}jUjjjjjjj)jjTj,jjWjjjjjjj+jjVj.jjYjjjjjjj-jjXj0jj[jjjjj jj/ j jZ j2 j j] j j j j j j j1 j j\ j4 j j_ j j j j j j j3 j j^ j6 j ja usubstitution_names}(aarch32hHaarch64hsamuhamushɌapihbtijcotjucssjcvejdtbjds-5j!dsujLdtjweljehfjfconfjfdtj#ff-ajNfipjyfvpjfwujgicjisaj%linarojPmmuj{mpamjmpmmjmpidrjmtej'oenjRop-teej}otejpddjpauthjpmfj)pscijTrasjrotjscmijscpjsdeij+sdsjVseajsipjsmcjsmcccj-socjXspjspdjspmjssbsj svej/ tbbjZ tbbrj teej tf-aj tf-mj tlbj1 tlkj\ trngj tspj tzcj ubsanj uefij3 wdogj^ xlatj urefnames}(arm developer website]j adevelopment studio 5 (ds-5)]jhanode version manager]jSalinaro release 20.01]jagerrit code review]jaurefids}(j} ]jr aj ]j aj]jaunameids}(jjj j j j} j j jj jjjjjjj j jjjjjjjGjDjj~jjjjjjjjjju nametypes}(jNj Nj j NjjNjNjj NjjNjNjGjjjjjjuh$}(jj j j j} j j j j j jj jjjjj jjjjjjjcjDj>j~jxjjjjjjjjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages](h system_message)}(hhh]j )}(hhh]h=Hyperlink target "prerequisites-toolchain" is not referenced.}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]levelKtypeINFOsourcej lineKZuh1jubj)}(hhh]j )}(hhh]hJHyperlink target "prerequisites-software-and-libraries" is not referenced.}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]levelKtypejsourcej lineKpuh1jubj)}(hhh]j )}(hhh]h>Hyperlink target "prerequisites-get-source" is not referenced.}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]levelKtypejsourcej lineKuh1jubj)}(hhh]j )}(hhh]h:Hyperlink target "linaro release notes" is not referenced.}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]levelKtypejsourcej lineKuh1jubj)}(hhh]j )}(hhh]h9Hyperlink target "linaro instructions" is not referenced.}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]levelKtypejsourcej lineKuh1jube transformerN decorationNhhub.