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/]refdocplat/arm/fvp/index 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!Arm Fixed Virtual Platforms (FVP)h]h!Arm Fixed Virtual Platforms (FVP)}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAS/home/test/workspace/code/optee_3.16/trusted-firmware-a/docs/plat/arm/fvp/index.rsthCKubj )}(hhh](j )}(h$Fixed Virtual Platform (FVP) Supporth]h$Fixed Virtual Platform (FVP) Support}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCKubh paragraph)}(hThis section lists the supported Arm |FVP| platforms. Please refer to the FVP documentation for a detailed description of the model parameter options.h](h%This section lists the supported Arm }(h%This section lists the supported Arm h!j hhhANhCNubh)}(hjh]h)}(hjh]hFVP}(hhh!j ubah"}(h$]h&](h(jjeh+]h-]h/]uh1hhANhCNh!j ubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftypej refexplicitrefwarn reftargetjuh1hhAhBhCKh!j hhubhl platforms. Please refer to the FVP documentation for a detailed description of the model parameter options.}(hl platforms. Please refer to the FVP documentation for a detailed description of the model parameter options.h!j hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j hhubj )}(hThe latest version of the AArch64 build of TF-A has been tested on the following Arm FVPs without shifted affinities, and that do not support threaded CPU cores (64-bit host machine only).h]hThe latest version of the AArch64 build of TF-A has been tested on the following Arm FVPs without shifted affinities, and that do not support threaded CPU cores (64-bit host machine only).}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK h!j hhubh note)}(hHThe FVP models used are Version 11.16 Build 16, unless otherwise stated.h]j )}(hj h]hHThe FVP models used are Version 11.16 Build 16, unless otherwise stated.}(hj h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubh bullet_list)}(hhh](h list_item)}(h``Foundation_Platform``h]j )}(hj h]h literal)}(hj h]hFoundation_Platform}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h/``FVP_Base_AEMv8A-AEMv8A-AEMv8A-AEMv8A-CCN502``h]j )}(hj7 h]j )}(hj7 h]h+FVP_Base_AEMv8A-AEMv8A-AEMv8A-AEMv8A-CCN502}(hhh!j< ubah"}(h$]h&]h+]h-]h/]uh1j h!j9 ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j5 ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(hJ``FVP_Base_AEMv8A-AEMv8A`` (For certain configurations also uses 11.14/21)h]j )}(hjW h](j )}(h``FVP_Base_AEMv8A-AEMv8A``h]hFVP_Base_AEMv8A-AEMv8A}(hhh!j\ ubah"}(h$]h&]h+]h-]h/]uh1j h!jY ubh0 (For certain configurations also uses 11.14/21)}(h0 (For certain configurations also uses 11.14/21)h!jY ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jU ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_AEMv8A-GIC600AE``h]j )}(hj} h]j )}(hj} h]hFVP_Base_AEMv8A-GIC600AE}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j{ ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(hJ``FVP_Base_AEMvA`` (For certain configurations also uses 0.0/6684)h]j )}(hj h](j )}(h``FVP_Base_AEMvA``h]hFVP_Base_AEMvA}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubh8 (For certain configurations also uses 0.0/6684)}(h8 (For certain configurations also uses 0.0/6684)h!j ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h-``FVP_Base_Cortex-A32x4`` (Version 11.12/38)h]j )}(hj h](j )}(h``FVP_Base_Cortex-A32x4``h]hFVP_Base_Cortex-A32x4}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubh (Version 11.12/38)}(h (Version 11.12/38)h!j ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A35x4``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A35x4}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A53x4``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A53x4}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A55x4``h]j )}(hj) h]j )}(hj) h]hFVP_Base_Cortex-A55x4}(hhh!j. ubah"}(h$]h&]h+]h-]h/]uh1j h!j+ ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j' ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h&``FVP_Base_Cortex-A55x4+Cortex-A75x4``h]j )}(hjI h]j )}(hjI h]h"FVP_Base_Cortex-A55x4+Cortex-A75x4}(hhh!jN ubah"}(h$]h&]h+]h-]h/]uh1j h!jK ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jG ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A57x1-A53x1``h]j )}(hji h]j )}(hji h]hFVP_Base_Cortex-A57x1-A53x1}(hhh!jn ubah"}(h$]h&]h+]h-]h/]uh1j h!jk ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jg ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A57x2-A53x4``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A57x2-A53x4}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A57x4-A53x4``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A57x4-A53x4}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A57x4``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A57x4}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A65AEx8``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A65AEx8}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A65x4``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A65x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A710x4``h]j )}(hj)h]j )}(hj)h]hFVP_Base_Cortex-A710x4}(hhh!j.ubah"}(h$]h&]h+]h-]h/]uh1j h!j+ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK!h!j'ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A72x4-A53x4``h]j )}(hjIh]j )}(hjIh]hFVP_Base_Cortex-A72x4-A53x4}(hhh!jNubah"}(h$]h&]h+]h-]h/]uh1j h!jKubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK"h!jGubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A72x4``h]j )}(hjih]j )}(hjih]hFVP_Base_Cortex-A72x4}(hhh!jnubah"}(h$]h&]h+]h-]h/]uh1j h!jkubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK#h!jgubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A73x4-A53x4``h]j )}(hjh]j )}(hjh]hFVP_Base_Cortex-A73x4-A53x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK$h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A73x4``h]j )}(hjh]j )}(hjh]hFVP_Base_Cortex-A73x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK%h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A75x4``h]j )}(hjh]j )}(hjh]hFVP_Base_Cortex-A75x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK&h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A76AEx4``h]j )}(hjh]j )}(hjh]hFVP_Base_Cortex-A76AEx4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK'h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A76AEx8``h]j )}(hj h]j )}(hj h]hFVP_Base_Cortex-A76AEx8}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK(h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A76x4``h]j )}(hj)h]j )}(hj)h]hFVP_Base_Cortex-A76x4}(hhh!j.ubah"}(h$]h&]h+]h-]h/]uh1j h!j+ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK)h!j'ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A77x4``h]j )}(hjIh]j )}(hjIh]hFVP_Base_Cortex-A77x4}(hhh!jNubah"}(h$]h&]h+]h-]h/]uh1j h!jKubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK*h!jGubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Cortex-A78x4``h]j )}(hjih]j )}(hjih]hFVP_Base_Cortex-A78x4}(hhh!jnubah"}(h$]h&]h+]h-]h/]uh1j h!jkubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK+h!jgubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Neoverse-E1x1``h]j )}(hjh]j )}(hjh]hFVP_Base_Neoverse-E1x1}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK,h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Neoverse-E1x2``h]j )}(hjh]j )}(hjh]hFVP_Base_Neoverse-E1x2}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK-h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Neoverse-E1x4``h]j )}(hjh]j )}(hjh]hFVP_Base_Neoverse-E1x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK.h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Neoverse-N1x4``h]j )}(hjh]j )}(hjh]hFVP_Base_Neoverse-N1x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK/h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h3``FVP_Base_Neoverse-N2x4`` (Version 11.12 build 38)h]j )}(hj h](j )}(h``FVP_Base_Neoverse-N2x4``h]hFVP_Base_Neoverse-N2x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j ubh (Version 11.12 build 38)}(h (Version 11.12 build 38)h!j ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK0h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h``FVP_Base_Neoverse-V1x4``h]j )}(hj/h]j )}(hj/h]hFVP_Base_Neoverse-V1x4}(hhh!j4ubah"}(h$]h&]h+]h-]h/]uh1j h!j1ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK1h!j-ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(hJ``FVP_Base_RevC-2xAEMvA`` (For certain configurations also uses 0.0/6557)h]j )}(hjOh](j )}(h``FVP_Base_RevC-2xAEMvA``h]hFVP_Base_RevC-2xAEMvA}(hhh!jTubah"}(h$]h&]h+]h-]h/]uh1j h!jQubh1 (For certain configurations also uses 0.0/6557)}(h1 (For certain configurations also uses 0.0/6557)h!jQubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK2h!jMubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h-``FVP_CSS_SGI-575`` (Version 11.15/26)h]j )}(hjuh](j )}(h``FVP_CSS_SGI-575``h]hFVP_CSS_SGI-575}(hhh!jzubah"}(h$]h&]h+]h-]h/]uh1j h!jwubh (Version 11.15/26)}(h (Version 11.15/26)h!jwubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK3h!jsubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h,``FVP_Morello`` (Version 0.11/19)h]j )}(hjh](j )}(h``FVP_Morello``h]h FVP_Morello}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh (Version 0.11/19)}(h (Version 0.11/19)h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK4h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h-``FVP_RD_E1_edge`` (Version 11.15/26)h]j )}(hjh](j )}(h``FVP_RD_E1_edge``h]hFVP_RD_E1_edge}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh (Version 11.15/26)}(h (Version 11.15/26)h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK5h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h-``FVP_RD_N1_edge_dual`` (Version 11.15/26)h]j )}(hjh](j )}(h``FVP_RD_N1_edge_dual``h]hFVP_RD_N1_edge_dual}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh (Version 11.15/26)}(h (Version 11.15/26)h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK6h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h-``FVP_RD_N1_edge`` (Version 11.15/26)h]j )}(hj h](j )}(h``FVP_RD_N1_edge``h]hFVP_RD_N1_edge}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh (Version 11.15/26)}(h (Version 11.15/26)h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK7h!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h-``FVP_RD_V1`` (Version 11.15/26)h]j )}(hj3h](j )}(h ``FVP_RD_V1``h]h FVP_RD_V1}(hhh!j8ubah"}(h$]h&]h+]h-]h/]uh1j h!j5ubh (Version 11.15/26)}(h (Version 11.15/26)h!j5ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK8h!j1ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h ``FVP_TC0``h]j )}(hjYh]j )}(hjYh]hFVP_TC0}(hhh!j^ubah"}(h$]h&]h+]h-]h/]uh1j h!j[ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK9h!jWubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(h ``FVP_TC1`` h]j )}(h ``FVP_TC1``h]j )}(hj}h]hFVP_TC1}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j{ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK:h!jwubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubeh"}(h$]h&]h+]h-]h/]bullet-uh1j hAj hCKh!j hhubj )}(hThe latest version of the AArch32 build of TF-A has been tested on the following Arm FVPs without shifted affinities, and that do not support threaded CPU cores (64-bit host machine only).h]hThe latest version of the AArch32 build of TF-A has been tested on the following Arm FVPs without shifted affinities, and that do not support threaded CPU cores (64-bit host machine only).}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCK/`` can be used.h](hLinaro provides a ramdisk image in prebuilt FVP configurations and full file systems that can be downloaded separately. To run an FVP with a virtio file system image an additional FVP configuration option }(hLinaro provides a ramdisk image in prebuilt FVP configurations and full file systems that can be downloaded separately. To run an FVP with a virtio file system image an additional FVP configuration option h!jubj )}(hE``-C bp.virtioblockdevice.image_path="/``h]hA-C bp.virtioblockdevice.image_path="/}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh can be used.}(h can be used.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKRh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(hThe software will not work on Version 1.0 of the Foundation FVP. The commands below would report an ``unhandled argument`` error in this case.h]j )}(hThe software will not work on Version 1.0 of the Foundation FVP. The commands below would report an ``unhandled argument`` error in this case.h](hdThe software will not work on Version 1.0 of the Foundation FVP. The commands below would report an }(hdThe software will not work on Version 1.0 of the Foundation FVP. The commands below would report an h!j ubj )}(h``unhandled argument``h]hunhandled argument}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j ubh error in this case.}(h error in this case.h!j ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKYh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubj )}(hFVPs can be launched with ``--cadi-server`` option such that a CADI-compliant debugger (for example, Arm DS-5) can connect to and control its execution.h]j )}(hFVPs can be launched with ``--cadi-server`` option such that a CADI-compliant debugger (for example, Arm DS-5) can connect to and control its execution.h](hFVPs can be launched with }(hFVPs can be launched with h!j5ubj )}(h``--cadi-server``h]h --cadi-server}(hhh!j>ubah"}(h$]h&]h+]h-]h/]uh1j h!j5ubhm option such that a CADI-compliant debugger (for example, Arm DS-5) can connect to and control its execution.}(hm option such that a CADI-compliant debugger (for example, Arm DS-5) can connect to and control its execution.h!j5ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK]h!j1ubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCNubh warning)}(hX$Since FVP model Version 11.0 Build 11.0.34 and Version 8.5 Build 0.8.5202 the internal synchronisation timings changed compared to older versions of the models. The models can be launched with ``-Q 100`` option if they are required to match the run time characteristics of the older versions.h]j )}(hX$Since FVP model Version 11.0 Build 11.0.34 and Version 8.5 Build 0.8.5202 the internal synchronisation timings changed compared to older versions of the models. The models can be launched with ``-Q 100`` option if they are required to match the run time characteristics of the older versions.h](hSince FVP model Version 11.0 Build 11.0.34 and Version 8.5 Build 0.8.5202 the internal synchronisation timings changed compared to older versions of the models. The models can be launched with }(hSince FVP model Version 11.0 Build 11.0.34 and Version 8.5 Build 0.8.5202 the internal synchronisation timings changed compared to older versions of the models. The models can be launched with h!jcubj )}(h ``-Q 100``h]h-Q 100}(hhh!jlubah"}(h$]h&]h+]h-]h/]uh1j h!jcubhY option if they are required to match the run time characteristics of the older versions.}(hY option if they are required to match the run time characteristics of the older versions.h!jcubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKbh!j_ubah"}(h$]h&]h+]h-]h/]uh1j]h!j hhhAj hCNubj )}(hFAll the above platforms have been tested with `Linaro Release 20.01`_.h](h.All the above platforms have been tested with }(h.All the above platforms have been tested with h!jhhhANhCNubjv)}(h`Linaro Release 20.01`_h]hLinaro Release 20.01}(hLinaro Release 20.01h!jubah"}(h$]h&]h+]h-]h/]nameLinaro Release 20.01j6http://releases.linaro.org/members/arm/platforms/20.01uh1juh!jjKubh.}(hjh!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKgh!j hhubh target)}(h#.. _build_options_arm_fvp_platform:h]h"}(h$]h&]h+]h-]h/]refidbuild-options-arm-fvp-platformuh1jhCKh!j hhhAj ubeh"}(h$]"fixed-virtual-platform-fvp-supportah&]h+]$fixed virtual platform (fvp) supportah-]h/]uh1j h!j hhhAj hCKubj )}(hhh](j )}(h'Arm FVP Platform Specific Build Optionsh]h'Arm FVP Platform Specific Build Options}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCKlubj )}(hhh](j )}(h``FVP_CLUSTER_COUNT`` : Configures the cluster count to be used to build the topology tree within TF-A. By default TF-A is configured for dual cluster topology and this option can be used to override the default value. h]j )}(h``FVP_CLUSTER_COUNT`` : Configures the cluster count to be used to build the topology tree within TF-A. By default TF-A is configured for dual cluster topology and this option can be used to override the default value.h](j )}(h``FVP_CLUSTER_COUNT``h]hFVP_CLUSTER_COUNT}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh : Configures the cluster count to be used to build the topology tree within TF-A. By default TF-A is configured for dual cluster topology and this option can be used to override the default value.}(h : Configures the cluster count to be used to build the topology tree within TF-A. By default TF-A is configured for dual cluster topology and this option can be used to override the default value.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKnh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hX``FVP_INTERCONNECT_DRIVER``: Selects the interconnect driver to be built. The default interconnect driver depends on the value of ``FVP_CLUSTER_COUNT`` as explained in the options below: - ``FVP_CCI`` : The CCI driver is selected. This is the default if 0 < ``FVP_CLUSTER_COUNT`` <= 2. - ``FVP_CCN`` : The CCN driver is selected. This is the default if ``FVP_CLUSTER_COUNT`` > 2. h](j )}(h``FVP_INTERCONNECT_DRIVER``: Selects the interconnect driver to be built. The default interconnect driver depends on the value of ``FVP_CLUSTER_COUNT`` as explained in the options below:h](j )}(h``FVP_INTERCONNECT_DRIVER``h]hFVP_INTERCONNECT_DRIVER}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!jubhg: Selects the interconnect driver to be built. The default interconnect driver depends on the value of }(hg: Selects the interconnect driver to be built. The default interconnect driver depends on the value of h!jubj )}(h``FVP_CLUSTER_COUNT``h]hFVP_CLUSTER_COUNT}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh# as explained in the options below:}(h# as explained in the options below:h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKrh!jubj )}(hhh](j )}(h```FVP_CCI`` : The CCI driver is selected. This is the default if 0 < ``FVP_CLUSTER_COUNT`` <= 2.h]j )}(h```FVP_CCI`` : The CCI driver is selected. This is the default if 0 < ``FVP_CLUSTER_COUNT`` <= 2.h](j )}(h ``FVP_CCI``h]hFVP_CCI}(hhh!j@ubah"}(h$]h&]h+]h-]h/]uh1j h!j<ubh: : The CCI driver is selected. This is the default if 0 < }(h: : The CCI driver is selected. This is the default if 0 < h!j<ubj )}(h``FVP_CLUSTER_COUNT``h]hFVP_CLUSTER_COUNT}(hhh!jSubah"}(h$]h&]h+]h-]h/]uh1j h!j<ubh <= 2.}(h <= 2.h!j<ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKvh!j8ubah"}(h$]h&]h+]h-]h/]uh1j h!j5ubj )}(h\``FVP_CCN`` : The CCN driver is selected. This is the default if ``FVP_CLUSTER_COUNT`` > 2. h]j )}(h[``FVP_CCN`` : The CCN driver is selected. This is the default if ``FVP_CLUSTER_COUNT`` > 2.h](j )}(h ``FVP_CCN``h]hFVP_CCN}(hhh!jzubah"}(h$]h&]h+]h-]h/]uh1j h!jvubh6 : The CCN driver is selected. This is the default if }(h6 : The CCN driver is selected. This is the default if h!jvubj )}(h``FVP_CLUSTER_COUNT``h]hFVP_CLUSTER_COUNT}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jvubh > 2.}(h > 2.h!jvubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKxh!jrubah"}(h$]h&]h+]h-]h/]uh1j h!j5ubeh"}(h$]h&]h+]h-]h/]jjuh1j hAj hCKvh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhANhCNubj )}(h{``FVP_MAX_CPUS_PER_CLUSTER``: Sets the maximum number of CPUs implemented in a single cluster. This option defaults to 4. h]j )}(hz``FVP_MAX_CPUS_PER_CLUSTER``: Sets the maximum number of CPUs implemented in a single cluster. This option defaults to 4.h](j )}(h``FVP_MAX_CPUS_PER_CLUSTER``h]hFVP_MAX_CPUS_PER_CLUSTER}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh^: Sets the maximum number of CPUs implemented in a single cluster. This option defaults to 4.}(h^: Sets the maximum number of CPUs implemented in a single cluster. This option defaults to 4.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK{h!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``FVP_MAX_PE_PER_CPU``: Sets the maximum number of PEs implemented on any CPU in the system. This option defaults to 1. Note that the build option ``ARM_PLAT_MT`` doesn't have any effect on FVP platforms. h]j )}(h``FVP_MAX_PE_PER_CPU``: Sets the maximum number of PEs implemented on any CPU in the system. This option defaults to 1. Note that the build option ``ARM_PLAT_MT`` doesn't have any effect on FVP platforms.h](j )}(h``FVP_MAX_PE_PER_CPU``h]hFVP_MAX_PE_PER_CPU}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh}: Sets the maximum number of PEs implemented on any CPU in the system. This option defaults to 1. Note that the build option }(h}: Sets the maximum number of PEs implemented on any CPU in the system. This option defaults to 1. Note that the build option h!jubj )}(h``ARM_PLAT_MT``h]h ARM_PLAT_MT}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh, doesn’t have any effect on FVP platforms.}(h* doesn't have any effect on FVP platforms.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCK~h!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``FVP_USE_GIC_DRIVER`` : Selects the GIC driver to be built. Options: - ``FVP_GICV2`` : The GICv2 only driver is selected - ``FVP_GICV3`` : The GICv3 only driver is selected (default option) h](j )}(hE``FVP_USE_GIC_DRIVER`` : Selects the GIC driver to be built. Options:h](j )}(h``FVP_USE_GIC_DRIVER``h]hFVP_USE_GIC_DRIVER}(hhh!j!ubah"}(h$]h&]h+]h-]h/]uh1j h!jubh/ : Selects the GIC driver to be built. Options:}(h/ : Selects the GIC driver to be built. Options:h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jubj )}(hhh](j )}(h1``FVP_GICV2`` : The GICv2 only driver is selectedh]j )}(hj?h](j )}(h ``FVP_GICV2``h]h FVP_GICV2}(hhh!jDubah"}(h$]h&]h+]h-]h/]uh1j h!jAubh$ : The GICv2 only driver is selected}(h$ : The GICv2 only driver is selectedh!jAubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!j=ubah"}(h$]h&]h+]h-]h/]uh1j h!j:ubj )}(hC``FVP_GICV3`` : The GICv3 only driver is selected (default option) h]j )}(hB``FVP_GICV3`` : The GICv3 only driver is selected (default option)h](j )}(h ``FVP_GICV3``h]h FVP_GICV3}(hhh!jkubah"}(h$]h&]h+]h-]h/]uh1j h!jgubh5 : The GICv3 only driver is selected (default option)}(h5 : The GICv3 only driver is selected (default option)h!jgubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jcubah"}(h$]h&]h+]h-]h/]uh1j h!j:ubeh"}(h$]h&]h+]h-]h/]jjuh1j hAj hCKh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhANhCNubj )}(hX``FVP_HW_CONFIG_DTS`` : Specify the path to the DTS file to be compiled to DTB and packaged in FIP as the HW_CONFIG. See :ref:`Firmware Design` for details on HW_CONFIG. By default, this is initialized to a sensible DTS file in ``fdts/`` folder depending on other build options. But some cases, like shifted affinity format for MPIDR, cannot be detected at build time and this option is needed to specify the appropriate DTS file. h]j )}(hX``FVP_HW_CONFIG_DTS`` : Specify the path to the DTS file to be compiled to DTB and packaged in FIP as the HW_CONFIG. See :ref:`Firmware Design` for details on HW_CONFIG. By default, this is initialized to a sensible DTS file in ``fdts/`` folder depending on other build options. But some cases, like shifted affinity format for MPIDR, cannot be detected at build time and this option is needed to specify the appropriate DTS file.h](j )}(h``FVP_HW_CONFIG_DTS``h]hFVP_HW_CONFIG_DTS}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhd : Specify the path to the DTS file to be compiled to DTB and packaged in FIP as the HW_CONFIG. See }(hd : Specify the path to the DTS file to be compiled to DTB and packaged in FIP as the HW_CONFIG. See h!jubh)}(h:ref:`Firmware Design`h]h)}(hjh]hFirmware Design}(hhh!jubah"}(h$]h&](h(stdstd-refeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftyperef refexplicitrefwarnh?firmware designuh1hhAj hCKh!jubhU for details on HW_CONFIG. By default, this is initialized to a sensible DTS file in }(hU for details on HW_CONFIG. By default, this is initialized to a sensible DTS file in h!jubj )}(h ``fdts/``h]hfdts/}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh folder depending on other build options. But some cases, like shifted affinity format for MPIDR, cannot be detected at build time and this option is needed to specify the appropriate DTS file.}(h folder depending on other build options. But some cases, like shifted affinity format for MPIDR, cannot be detected at build time and this option is needed to specify the appropriate DTS file.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hX_``FVP_HW_CONFIG`` : Specify the path to the HW_CONFIG blob to be packaged in FIP. See :ref:`Firmware Design` for details on HW_CONFIG. This option is similar to the ``FVP_HW_CONFIG_DTS`` option, but it directly specifies the HW_CONFIG blob instead of the DTS file. This option is useful to override the default HW_CONFIG selected by the build system. h]j )}(hX^``FVP_HW_CONFIG`` : Specify the path to the HW_CONFIG blob to be packaged in FIP. See :ref:`Firmware Design` for details on HW_CONFIG. This option is similar to the ``FVP_HW_CONFIG_DTS`` option, but it directly specifies the HW_CONFIG blob instead of the DTS file. This option is useful to override the default HW_CONFIG selected by the build system.h](j )}(h``FVP_HW_CONFIG``h]h FVP_HW_CONFIG}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhE : Specify the path to the HW_CONFIG blob to be packaged in FIP. See }(hE : Specify the path to the HW_CONFIG blob to be packaged in FIP. See h!jubh)}(h:ref:`Firmware Design`h]h)}(hjh]hFirmware Design}(hhh!jubah"}(h$]h&](h(stdstd-refeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftyperef refexplicitrefwarnh?firmware designuh1hhAj hCKh!jubh9 for details on HW_CONFIG. This option is similar to the }(h9 for details on HW_CONFIG. This option is similar to the h!jubj )}(h``FVP_HW_CONFIG_DTS``h]hFVP_HW_CONFIG_DTS}(hhh!j5ubah"}(h$]h&]h+]h-]h/]uh1j h!jubh option, but it directly specifies the HW_CONFIG blob instead of the DTS file. This option is useful to override the default HW_CONFIG selected by the build system.}(h option, but it directly specifies the HW_CONFIG blob instead of the DTS file. This option is useful to override the default HW_CONFIG selected by the build system.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``FVP_GICR_REGION_PROTECTION``: Mark the redistributor pages of inactive/fused CPU cores as read-only. The default value of this option is ``0``, which means the redistributor pages of all CPU cores are marked as read and write. h]j )}(h``FVP_GICR_REGION_PROTECTION``: Mark the redistributor pages of inactive/fused CPU cores as read-only. The default value of this option is ``0``, which means the redistributor pages of all CPU cores are marked as read and write.h](j )}(h``FVP_GICR_REGION_PROTECTION``h]hFVP_GICR_REGION_PROTECTION}(hhh!j\ubah"}(h$]h&]h+]h-]h/]uh1j h!jXubhm: Mark the redistributor pages of inactive/fused CPU cores as read-only. The default value of this option is }(hm: Mark the redistributor pages of inactive/fused CPU cores as read-only. The default value of this option is h!jXubj )}(h``0``h]h0}(hhh!joubah"}(h$]h&]h+]h-]h/]uh1j h!jXubhT, which means the redistributor pages of all CPU cores are marked as read and write.}(hT, which means the redistributor pages of all CPU cores are marked as read and write.h!jXubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jTubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubeh"}(h$]h&]h+]h-]h/]jjuh1j hAj hCKnh!jhhubeh"}(h$]('arm-fvp-platform-specific-build-optionsjeh&]h+]('arm fvp platform specific build optionsbuild_options_arm_fvp_platformeh-]h/]uh1j h!j hhhAj hCKlexpect_referenced_by_name}jjsexpect_referenced_by_id}jjsubj )}(hhh](j )}(hBooting Firmware Update imagesh]hBooting Firmware Update images(}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCKubj )}(hWhen Firmware Update (FWU) is enabled there are at least 2 new images that have to be loaded, the Non-Secure FWU ROM (NS-BL1U), and the FWU FIP.h]hWhen Firmware Update (FWU) is enabled there are at least 2 new images that have to be loaded, the Non-Secure FWU ROM (NS-BL1U), and the FWU FIP.}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jhhubj )}(h.The additional fip images must be loaded with:h]h.The additional fip images must be loaded with:}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jhhubh literal_block)}(h--data cluster0.cpu0="/ns_bl1u.bin"@0x0beb8000 [ns_bl1u_base_address] --data cluster0.cpu0="/fwu_fip.bin"@0x08400000 [ns_bl2u_base_address]h]h--data cluster0.cpu0="/ns_bl1u.bin"@0x0beb8000 [ns_bl1u_base_address] --data cluster0.cpu0="/fwu_fip.bin"@0x08400000 [ns_bl2u_base_address]}(hhh!jubah"}(h$]h&]h+]h-]h/] xml:spacepreserveuh1jhAj hCKh!jhhubj )}(hThe address ns_bl1u_base_address is the value of NS_BL1U_BASE. In the same way, the address ns_bl2u_base_address is the value of NS_BL2U_BASE.h]hThe address ns_bl1u_base_address is the value of NS_BL1U_BASE. In the same way, the address ns_bl2u_base_address is the value of NS_BL2U_BASE.}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jhhubeh"}(h$]booting-firmware-update-imagesah&]h+]booting firmware update imagesah-]h/]uh1j h!j hhhAj hCKubj )}(hhh](j )}(hBooting an EL3 payloadh]hBooting an EL3 payload}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCKubj )}(hXYThe EL3 payloads boot flow requires the CPU's mailbox to be cleared at reset for the secondary CPUs holding pen to work properly. Unfortunately, its reset value is undefined on the FVP platform and the FVP platform code doesn't clear it. Therefore, one must modify the way the model is normally invoked in order to clear the mailbox at start-up.h]hX]The EL3 payloads boot flow requires the CPU’s mailbox to be cleared at reset for the secondary CPUs holding pen to work properly. Unfortunately, its reset value is undefined on the FVP platform and the FVP platform code doesn’t clear it. Therefore, one must modify the way the model is normally invoked in order to clear the mailbox at start-up.}(hj h!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jhhubj )}(heOne way to do that is to create an 8-byte file containing all zero bytes using the following command:h]heOne way to do that is to create an 8-byte file containing all zero bytes using the following command:}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jhhubj)}(h+dd if=/dev/zero of=mailbox.dat bs=1 count=8h]h+dd if=/dev/zero of=mailbox.dat bs=1 count=8}(hhh!j#ubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjlanguageshelluh1jhAj hCKh!jhhubj )}(hvand pre-load it into the FVP memory at the mailbox address (i.e. ``0x04000000``) using the following model parameters:h](hAand pre-load it into the FVP memory at the mailbox address (i.e. }(hAand pre-load it into the FVP memory at the mailbox address (i.e. h!j6hhhANhCNubj )}(h``0x04000000``h]h 0x04000000}(hhh!j?ubah"}(h$]h&]h+]h-]h/]uh1j h!j6ubh') using the following model parameters:}(h') using the following model parameters:h!j6hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jhhubj)}(hx--data cluster0.cpu0=mailbox.dat@0x04000000 [Base FVPs] --data=mailbox.dat@0x04000000 [Foundation FVP]h]hx--data cluster0.cpu0=mailbox.dat@0x04000000 [Base FVPs] --data=mailbox.dat@0x04000000 [Foundation FVP]}(hhh!jXubah"}(h$]h&]h+]h-]h/]jjuh1jhAj hCKh!jhhubj )}(hSTo provide the model with the EL3 payload image, the following methods may be used:h]hSTo provide the model with the EL3 payload image, the following methods may be used:}(hjhh!jfhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jhhubh enumerated_list)}(hhh](j )}(hXIf the EL3 payload is able to execute in place, it may be programmed into flash memory. On Base Cortex and AEM FVPs, the following model parameter loads it at the base address of the NOR FLASH1 (the NOR FLASH0 is already used for the FIP): :: -C bp.flashloader1.fname="/" On Foundation FVP, there is no flash loader component and the EL3 payload may be programmed anywhere in flash using method 3 below. h](j )}(hIf the EL3 payload is able to execute in place, it may be programmed into flash memory. On Base Cortex and AEM FVPs, the following model parameter loads it at the base address of the NOR FLASH1 (the NOR FLASH0 is already used for the FIP):h]hIf the EL3 payload is able to execute in place, it may be programmed into flash memory. On Base Cortex and AEM FVPs, the following model parameter loads it at the base address of the NOR FLASH1 (the NOR FLASH0 is already used for the FIP):}(hjh!j}ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jyubj)}(h2-C bp.flashloader1.fname="/"h]h2-C bp.flashloader1.fname="/"}(hhh!jubah"}(h$]h&]h+]h-]h/]jjuh1jhAj hCKh!jyubj )}(hOn Foundation FVP, there is no flash loader component and the EL3 payload may be programmed anywhere in flash using method 3 below.h]hOn Foundation FVP, there is no flash loader component and the EL3 payload may be programmed anywhere in flash using method 3 below.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jyubeh"}(h$]h&]h+]h-]h/]uh1j h!jvhhhAj hCNubj )}(hWhen using the ``SPIN_ON_BL1_EXIT=1`` loading method, the following DS-5 command may be used to load the EL3 payload ELF image over JTAG: :: load /el3-payload.elf h](j )}(hWhen using the ``SPIN_ON_BL1_EXIT=1`` loading method, the following DS-5 command may be used to load the EL3 payload ELF image over JTAG:h](hWhen using the }(hWhen using the h!jubj )}(h``SPIN_ON_BL1_EXIT=1``h]hSPIN_ON_BL1_EXIT=1}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhd loading method, the following DS-5 command may be used to load the EL3 payload ELF image over JTAG:}(hd loading method, the following DS-5 command may be used to load the EL3 payload ELF image over JTAG:h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jubj)}(hload /el3-payload.elfh]hload /el3-payload.elf}(hhh!jubah"}(h$]h&]h+]h-]h/]jjuh1jhAj hCKh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jvhhhAj hCNubj )}(hX[The EL3 payload may be pre-loaded in volatile memory using the following model parameters: :: --data cluster0.cpu0="/el3-payload>"@address [Base FVPs] --data="/"@address [Foundation FVP] The address provided to the FVP must match the ``EL3_PAYLOAD_BASE`` address used when building TF-A. h](j )}(hZThe EL3 payload may be pre-loaded in volatile memory using the following model parameters:h]hZThe EL3 payload may be pre-loaded in volatile memory using the following model parameters:}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jubj)}(h--data cluster0.cpu0="/el3-payload>"@address [Base FVPs] --data="/"@address [Foundation FVP]h]h--data cluster0.cpu0="/el3-payload>"@address [Base FVPs] --data="/"@address [Foundation FVP]}(hhh!jubah"}(h$]h&]h+]h-]h/]jjuh1jhAj hCKh!jubj )}(hdThe address provided to the FVP must match the ``EL3_PAYLOAD_BASE`` address used when building TF-A.h](h/The address provided to the FVP must match the }(h/The address provided to the FVP must match the h!jubj )}(h``EL3_PAYLOAD_BASE``h]hEL3_PAYLOAD_BASE}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh! address used when building TF-A.}(h! address used when building TF-A.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jvhhhAj hCNubeh"}(h$]h&]h+]h-]h/]enumtypearabicprefixhsuffixjuh1jth!jhhhAj hCKubeh"}(h$]booting-an-el3-payloadah&]h+]booting an el3 payloadah-]h/]uh1j h!j hhhAj hCKubj )}(hhh](j )}(h+Booting a preloaded kernel image (Base FVP)h]h+Booting a preloaded kernel image (Base FVP)}(hjFh!jDhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jAhhhAj hCKubj )}(hXThe following example uses a simplified boot flow by directly jumping from the TF-A to the Linux kernel, which will use a ramdisk as filesystem. This can be useful if both the kernel and the device tree blob (DTB) are already present in memory (like in FVP).h]hXThe following example uses a simplified boot flow by directly jumping from the TF-A to the Linux kernel, which will use a ramdisk as filesystem. This can be useful if both the kernel and the device tree blob (DTB) are already present in memory (like in FVP).}(hjTh!jRhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jAhhubj )}(hFor example, if the kernel is loaded at ``0x80080000`` and the DTB is loaded at address ``0x82000000``, the firmware can be built like this:h](h(For example, if the kernel is loaded at }(h(For example, if the kernel is loaded at h!j`hhhANhCNubj )}(h``0x80080000``h]h 0x80080000}(hhh!jiubah"}(h$]h&]h+]h-]h/]uh1j h!j`ubh" and the DTB is loaded at address }(h" and the DTB is loaded at address h!j`hhhANhCNubj )}(h``0x82000000``h]h 0x82000000}(hhh!j|ubah"}(h$]h&]h+]h-]h/]uh1j h!j`ubh&, the firmware can be built like this:}(h&, the firmware can be built like this:h!j`hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jAhhubj)}(hCROSS_COMPILE=aarch64-none-elf- \ make PLAT=fvp DEBUG=1 \ RESET_TO_BL31=1 \ ARM_LINUX_KERNEL_AS_BL33=1 \ PRELOADED_BL33_BASE=0x80080000 \ ARM_PRELOADED_DTB_BASE=0x82000000 \ all fiph]hCROSS_COMPILE=aarch64-none-elf- \ make PLAT=fvp DEBUG=1 \ RESET_TO_BL31=1 \ ARM_LINUX_KERNEL_AS_BL33=1 \ PRELOADED_BL33_BASE=0x80080000 \ ARM_PRELOADED_DTB_BASE=0x82000000 \ all fip}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCKh!jAhhubj )}(hXNow, it is needed to modify the DTB so that the kernel knows the address of the ramdisk. The following script generates a patched DTB from the provided one, assuming that the ramdisk is loaded at address ``0x84000000``. Note that this script assumes that the user is using a ramdisk image prepared for U-Boot, like the ones provided by Linaro. If using a ramdisk without this header,the ``0x40`` offset in ``INITRD_START`` has to be removed.h](hNow, it is needed to modify the DTB so that the kernel knows the address of the ramdisk. The following script generates a patched DTB from the provided one, assuming that the ramdisk is loaded at address }(hNow, it is needed to modify the DTB so that the kernel knows the address of the ramdisk. The following script generates a patched DTB from the provided one, assuming that the ramdisk is loaded at address h!jhhhANhCNubj )}(h``0x84000000``h]h 0x84000000}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh. Note that this script assumes that the user is using a ramdisk image prepared for U-Boot, like the ones provided by Linaro. If using a ramdisk without this header,the }(h. Note that this script assumes that the user is using a ramdisk image prepared for U-Boot, like the ones provided by Linaro. If using a ramdisk without this header,the h!jhhhANhCNubj )}(h``0x40``h]h0x40}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh offset in }(h offset in h!jhhhANhCNubj )}(h``INITRD_START``h]h INITRD_START}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh has to be removed.}(h has to be removed.h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCKh!jAhhubj)}(hX#!/bin/bash # Path to the input DTB KERNEL_DTB=/ # Path to the output DTB PATCHED_KERNEL_DTB=/ # Base address of the ramdisk INITRD_BASE=0x84000000 # Path to the ramdisk INITRD=/ # Skip uboot header (64 bytes) INITRD_START=$(printf "0x%x" $((${INITRD_BASE} + 0x40)) ) INITRD_SIZE=$(stat -Lc %s ${INITRD}) INITRD_END=$(printf "0x%x" $((${INITRD_BASE} + ${INITRD_SIZE})) ) CHOSEN_NODE=$(echo \ "/ { \ chosen { \ linux,initrd-start = <${INITRD_START}>; \ linux,initrd-end = <${INITRD_END}>; \ }; \ };") echo $(dtc -O dts -I dtb ${KERNEL_DTB}) ${CHOSEN_NODE} | \ dtc -O dtb -o ${PATCHED_KERNEL_DTB} -h]hX#!/bin/bash # Path to the input DTB KERNEL_DTB=/ # Path to the output DTB PATCHED_KERNEL_DTB=/ # Base address of the ramdisk INITRD_BASE=0x84000000 # Path to the ramdisk INITRD=/ # Skip uboot header (64 bytes) INITRD_START=$(printf "0x%x" $((${INITRD_BASE} + 0x40)) ) INITRD_SIZE=$(stat -Lc %s ${INITRD}) INITRD_END=$(printf "0x%x" $((${INITRD_BASE} + ${INITRD_SIZE})) ) CHOSEN_NODE=$(echo \ "/ { \ chosen { \ linux,initrd-start = <${INITRD_START}>; \ linux,initrd-end = <${INITRD_END}>; \ }; \ };") echo $(dtc -O dts -I dtb ${KERNEL_DTB}) ${CHOSEN_NODE} | \ dtc -O dtb -o ${PATCHED_KERNEL_DTB} -}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4bashuh1jhAj hCMh!jAhhubj )}(h9And the FVP binary can be run with the following command:h]h9And the FVP binary can be run with the following command:}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jAhhubj)}(hXW/FVP_Base_AEMv8A-AEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBAR=0x04001000 \ -C cluster0.cpu1.RVBAR=0x04001000 \ -C cluster0.cpu2.RVBAR=0x04001000 \ -C cluster0.cpu3.RVBAR=0x04001000 \ -C cluster1.cpu0.RVBAR=0x04001000 \ -C cluster1.cpu1.RVBAR=0x04001000 \ -C cluster1.cpu2.RVBAR=0x04001000 \ -C cluster1.cpu3.RVBAR=0x04001000 \ --data cluster0.cpu0="/bl31.bin"@0x04001000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hXW/FVP_Base_AEMv8A-AEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBAR=0x04001000 \ -C cluster0.cpu1.RVBAR=0x04001000 \ -C cluster0.cpu2.RVBAR=0x04001000 \ -C cluster0.cpu3.RVBAR=0x04001000 \ -C cluster1.cpu0.RVBAR=0x04001000 \ -C cluster1.cpu1.RVBAR=0x04001000 \ -C cluster1.cpu2.RVBAR=0x04001000 \ -C cluster1.cpu3.RVBAR=0x04001000 \ --data cluster0.cpu0="/bl31.bin"@0x04001000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMh!jAhhubj )}(hhh](j )}(h$Obtaining the Flattened Device Treesh]h$Obtaining the Flattened Device Trees}(hj&h!j$hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j!hhhAj hCM5ubj )}(hXeDepending on the FVP configuration and Linux configuration used, different FDT files are required. FDT source files for the Foundation and Base FVPs can be found in the TF-A source directory under ``fdts/``. The Foundation FVP has a subset of the Base FVP components. For example, the Foundation FVP lacks CLCD and MMC support, and has only one CPU cluster.h](hDepending on the FVP configuration and Linux configuration used, different FDT files are required. FDT source files for the Foundation and Base FVPs can be found in the TF-A source directory under }(hDepending on the FVP configuration and Linux configuration used, different FDT files are required. FDT source files for the Foundation and Base FVPs can be found in the TF-A source directory under h!j2hhhANhCNubj )}(h ``fdts/``h]hfdts/}(hhh!j;ubah"}(h$]h&]h+]h-]h/]uh1j h!j2ubh. The Foundation FVP has a subset of the Base FVP components. For example, the Foundation FVP lacks CLCD and MMC support, and has only one CPU cluster.}(h. The Foundation FVP has a subset of the Base FVP components. For example, the Foundation FVP lacks CLCD and MMC support, and has only one CPU cluster.h!j2hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCM7h!j!hhubj )}(hkIt is not recommended to use the FDTs built along the kernel because not all FDTs are available from there.h]j )}(hkIt is not recommended to use the FDTs built along the kernel because not all FDTs are available from there.h]hkIt is not recommended to use the FDTs built along the kernel because not all FDTs are available from there.}(hjZh!jXubah"}(h$]h&]h+]h-]h/]uh1j hAj hCM>h!jTubah"}(h$]h&]h+]h-]h/]uh1j h!j!hhhAj hCNubj )}(hXThe dynamic configuration capability is enabled in the firmware for FVPs. This means that the firmware can authenticate and load the FDT if present in FIP. A default FDT is packaged into FIP during the build based on the build configuration. This can be overridden by using the ``FVP_HW_CONFIG`` or ``FVP_HW_CONFIG_DTS`` build options (refer to :ref:`build_options_arm_fvp_platform` for details on the options).h](hXThe dynamic configuration capability is enabled in the firmware for FVPs. This means that the firmware can authenticate and load the FDT if present in FIP. A default FDT is packaged into FIP during the build based on the build configuration. This can be overridden by using the }(hXThe dynamic configuration capability is enabled in the firmware for FVPs. This means that the firmware can authenticate and load the FDT if present in FIP. A default FDT is packaged into FIP during the build based on the build configuration. This can be overridden by using the h!jlhhhANhCNubj )}(h``FVP_HW_CONFIG``h]h FVP_HW_CONFIG}(hhh!juubah"}(h$]h&]h+]h-]h/]uh1j h!jlubh or }(h or h!jlhhhANhCNubj )}(h``FVP_HW_CONFIG_DTS``h]hFVP_HW_CONFIG_DTS}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jlubh build options (refer to }(h build options (refer to h!jlhhhANhCNubh)}(h%:ref:`build_options_arm_fvp_platform`h]h)}(hjh]hbuild_options_arm_fvp_platform}(hhh!jubah"}(h$]h&](h(stdstd-refeh+]h-]h/]uh1hh!jubah"}(h$]h&]h+]h-]h/]refdoch9 refdomainjreftyperef refexplicitrefwarnh?build_options_arm_fvp_platformuh1hhAj hCMAh!jlubh for details on the options).}(h for details on the options).h!jlhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMAh!j!hhubj )}(hhh](j )}(h``fvp-base-gicv2-psci.dts`` For use with models such as the Cortex-A57-A53 Base FVPs without shifted affinities and with Base memory map configuration. h](j )}(h``fvp-base-gicv2-psci.dts``h]j )}(hjh]hfvp-base-gicv2-psci.dts}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMHh!jubj )}(h{For use with models such as the Cortex-A57-A53 Base FVPs without shifted affinities and with Base memory map configuration.h]h{For use with models such as the Cortex-A57-A53 Base FVPs without shifted affinities and with Base memory map configuration.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMJh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``fvp-base-gicv2-psci-aarch32.dts`` For use with models such as the Cortex-A32 Base FVPs without shifted affinities and running Linux in AArch32 state with Base memory map configuration. h](j )}(h#``fvp-base-gicv2-psci-aarch32.dts``h]j )}(hjh]hfvp-base-gicv2-psci-aarch32.dts}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMMh!jubj )}(hFor use with models such as the Cortex-A32 Base FVPs without shifted affinities and running Linux in AArch32 state with Base memory map configuration.h]hFor use with models such as the Cortex-A32 Base FVPs without shifted affinities and running Linux in AArch32 state with Base memory map configuration.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMOh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``fvp-base-gicv3-psci.dts`` For use with models such as the Cortex-A57-A53 Base FVPs without shifted affinities and with Base memory map configuration and Linux GICv3 support. h](j )}(h``fvp-base-gicv3-psci.dts``h]j )}(hj-h]hfvp-base-gicv3-psci.dts}(hhh!j/ubah"}(h$]h&]h+]h-]h/]uh1j h!j+ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMSh!j'ubj )}(hFor use with models such as the Cortex-A57-A53 Base FVPs without shifted affinities and with Base memory map configuration and Linux GICv3 support.h]hFor use with models such as the Cortex-A57-A53 Base FVPs without shifted affinities and with Base memory map configuration and Linux GICv3 support.}(hjDh!jBubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMUh!j'ubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``fvp-base-gicv3-psci-1t.dts`` For use with models such as the AEMv8-RevC Base FVP with shifted affinities, single threaded CPUs, Base memory map configuration and Linux GICv3 support. h](j )}(h``fvp-base-gicv3-psci-1t.dts``h]j )}(hj\h]hfvp-base-gicv3-psci-1t.dts}(hhh!j^ubah"}(h$]h&]h+]h-]h/]uh1j h!jZubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMXh!jVubj )}(hFor use with models such as the AEMv8-RevC Base FVP with shifted affinities, single threaded CPUs, Base memory map configuration and Linux GICv3 support.h]hFor use with models such as the AEMv8-RevC Base FVP with shifted affinities, single threaded CPUs, Base memory map configuration and Linux GICv3 support.}(hjsh!jqubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMZh!jVubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``fvp-base-gicv3-psci-dynamiq.dts`` For use with models as the Cortex-A55-A75 Base FVPs with shifted affinities, single cluster, single threaded CPUs, Base memory map configuration and Linux GICv3 support. h](j )}(h#``fvp-base-gicv3-psci-dynamiq.dts``h]j )}(hjh]hfvp-base-gicv3-psci-dynamiq.dts}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCM]h!jubj )}(hFor use with models as the Cortex-A55-A75 Base FVPs with shifted affinities, single cluster, single threaded CPUs, Base memory map configuration and Linux GICv3 support.h]hFor use with models as the Cortex-A55-A75 Base FVPs with shifted affinities, single cluster, single threaded CPUs, Base memory map configuration and Linux GICv3 support.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCM_h!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``fvp-base-gicv3-psci-aarch32.dts`` For use with models such as the Cortex-A32 Base FVPs without shifted affinities and running Linux in AArch32 state with Base memory map configuration and Linux GICv3 support. h](j )}(h#``fvp-base-gicv3-psci-aarch32.dts``h]j )}(hjh]hfvp-base-gicv3-psci-aarch32.dts}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMch!jubj )}(hFor use with models such as the Cortex-A32 Base FVPs without shifted affinities and running Linux in AArch32 state with Base memory map configuration and Linux GICv3 support.h]hFor use with models such as the Cortex-A32 Base FVPs without shifted affinities and running Linux in AArch32 state with Base memory map configuration and Linux GICv3 support.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMeh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hc``fvp-foundation-gicv2-psci.dts`` For use with Foundation FVP with Base memory map configuration. h](j )}(h!``fvp-foundation-gicv2-psci.dts``h]j )}(hjh]hfvp-foundation-gicv2-psci.dts}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMih!jubj )}(h?For use with Foundation FVP with Base memory map configuration.h]h?For use with Foundation FVP with Base memory map configuration.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMkh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h``fvp-foundation-gicv3-psci.dts`` (Default) For use with Foundation FVP with Base memory map configuration and Linux GICv3 support. h](j )}(h!``fvp-foundation-gicv3-psci.dts``h]j )}(hjh]hfvp-foundation-gicv3-psci.dts}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMmh!jubj )}(ha(Default) For use with Foundation FVP with Base memory map configuration and Linux GICv3 support.h]ha(Default) For use with Foundation FVP with Base memory map configuration and Linux GICv3 support.}(hj/h!j-ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMoh!jubeh"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubeh"}(h$]h&]h+]h-]h/]jjuh1j hAj hCMHh!j!hhubeh"}(h$]$obtaining-the-flattened-device-treesah&]h+]$obtaining the flattened device treesah-]h/]uh1j h!jAhhhAj hCM5ubj )}(hhh](j )}(h:Running on the Foundation FVP with reset to BL1 entrypointh]h:Running on the Foundation FVP with reset to BL1 entrypoint}(hjTh!jRhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jOhhhAj hCMtubj )}(hzThe following ``Foundation_Platform`` parameters should be used to boot Linux with 4 CPUs using the AArch64 build of TF-A.h](hThe following }(hThe following h!j`hhhANhCNubj )}(h``Foundation_Platform``h]hFoundation_Platform}(hhh!jiubah"}(h$]h&]h+]h-]h/]uh1j h!j`ubhU parameters should be used to boot Linux with 4 CPUs using the AArch64 build of TF-A.}(hU parameters should be used to boot Linux with 4 CPUs using the AArch64 build of TF-A.h!j`hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMvh!jOhhubj)}(hX/Foundation_Platform \ --cores=4 \ --arm-v8.0 \ --secure-memory \ --visualization \ --gicv3 \ --data="/"@0x0 \ --data="/"@0x08000000 \ --data="/"@0x80080000 \ --data="/"@0x84000000h]hX/Foundation_Platform \ --cores=4 \ --arm-v8.0 \ --secure-memory \ --visualization \ --gicv3 \ --data="/"@0x0 \ --data="/"@0x08000000 \ --data="/"@0x80080000 \ --data="/"@0x84000000}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMyh!jOhhubj )}(hNotes:h]hNotes:}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jOhhubj )}(hhh](j )}(h.BL1 is loaded at the start of the Trusted ROM.h]j )}(hjh]h.BL1 is loaded at the start of the Trusted ROM.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(h@The Firmware Image Package is loaded at the start of NOR FLASH0.h]j )}(hjh]h@The Firmware Image Package is loaded at the start of NOR FLASH0.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hThe firmware loads the FDT packaged in FIP to the DRAM. The FDT load address is specified via the ``hw_config_addr`` property in `TB_FW_CONFIG for FVP`_.h]j )}(hThe firmware loads the FDT packaged in FIP to the DRAM. The FDT load address is specified via the ``hw_config_addr`` property in `TB_FW_CONFIG for FVP`_.h](hbThe firmware loads the FDT packaged in FIP to the DRAM. The FDT load address is specified via the }(hbThe firmware loads the FDT packaged in FIP to the DRAM. The FDT load address is specified via the h!jubj )}(h``hw_config_addr``h]hhw_config_addr}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh property in }(h property in h!jubjv)}(h`TB_FW_CONFIG for FVP`_h]hTB_FW_CONFIG for FVP}(hTB_FW_CONFIG for FVPh!jubah"}(h$]h&]h+]h-]h/]nameTB_FW_CONFIG for FVPjmhttps://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tree/plat/arm/board/fvp/fdts/fvp_tb_fw_config.dtsuh1juh!jjKubh.}(hjh!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hThe default use-case for the Foundation FVP is to use the ``--gicv3`` option and enable the GICv3 device in the model. Note that without this option, the Foundation FVP defaults to legacy (Versatile Express) memory map which is not supported by TF-A.h]j )}(hThe default use-case for the Foundation FVP is to use the ``--gicv3`` option and enable the GICv3 device in the model. Note that without this option, the Foundation FVP defaults to legacy (Versatile Express) memory map which is not supported by TF-A.h](h:The default use-case for the Foundation FVP is to use the }(h:The default use-case for the Foundation FVP is to use the h!jubj )}(h ``--gicv3``h]h--gicv3}(hhh!j"ubah"}(h$]h&]h+]h-]h/]uh1j h!jubh option and enable the GICv3 device in the model. Note that without this option, the Foundation FVP defaults to legacy (Versatile Express) memory map which is not supported by TF-A.}(h option and enable the GICv3 device in the model. Note that without this option, the Foundation FVP defaults to legacy (Versatile Express) memory map which is not supported by TF-A.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubj )}(hXzIn order for TF-A to run correctly on the Foundation FVP, the architecture versions must match. The Foundation FVP defaults to the highest v8.x version it supports but the default build for TF-A is for v8.0. To avoid issues either start the Foundation FVP to use v8.0 architecture using the ``--arm-v8.0`` option, or build TF-A with an appropriate value for ``ARM_ARCH_MINOR``. h]j )}(hXyIn order for TF-A to run correctly on the Foundation FVP, the architecture versions must match. The Foundation FVP defaults to the highest v8.x version it supports but the default build for TF-A is for v8.0. To avoid issues either start the Foundation FVP to use v8.0 architecture using the ``--arm-v8.0`` option, or build TF-A with an appropriate value for ``ARM_ARCH_MINOR``.h](hX#In order for TF-A to run correctly on the Foundation FVP, the architecture versions must match. The Foundation FVP defaults to the highest v8.x version it supports but the default build for TF-A is for v8.0. To avoid issues either start the Foundation FVP to use v8.0 architecture using the }(hX#In order for TF-A to run correctly on the Foundation FVP, the architecture versions must match. The Foundation FVP defaults to the highest v8.x version it supports but the default build for TF-A is for v8.0. To avoid issues either start the Foundation FVP to use v8.0 architecture using the h!jEubj )}(h``--arm-v8.0``h]h --arm-v8.0}(hhh!jNubah"}(h$]h&]h+]h-]h/]uh1j h!jEubh5 option, or build TF-A with an appropriate value for }(h5 option, or build TF-A with an appropriate value for h!jEubj )}(h``ARM_ARCH_MINOR``h]hARM_ARCH_MINOR}(hhh!jaubah"}(h$]h&]h+]h-]h/]uh1j h!jEubh.}(hjh!jEubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jAubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubeh"}(h$]h&]h+]h-]h/]jjuh1j hAj hCMh!jOhhubeh"}(h$]:running-on-the-foundation-fvp-with-reset-to-bl1-entrypointah&]h+]:running on the foundation fvp with reset to bl1 entrypointah-]h/]uh1j h!jAhhhAj hCMtubj )}(hhh](j )}(h:Running on the AEMv8 Base FVP with reset to BL1 entrypointh]h:Running on the AEMv8 Base FVP with reset to BL1 entrypoint}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCMubj )}(h}The following ``FVP_Base_RevC-2xAEMv8A`` parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h](hThe following }(hThe following h!jhhhANhCNubj )}(h``FVP_Base_RevC-2xAEMv8A``h]hFVP_Base_RevC-2xAEMv8A}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhU parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.}(hU parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jhhubj)}(hX/FVP_Base_RevC-2xAEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX/FVP_Base_RevC-2xAEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMh!jhhubj )}(hpThe ``FVP_Base_RevC-2xAEMv8A`` has shifted affinities and requires a specific DTS for all the CPUs to be loaded.h]j )}(hpThe ``FVP_Base_RevC-2xAEMv8A`` has shifted affinities and requires a specific DTS for all the CPUs to be loaded.h](hThe }(hThe h!jubj )}(h``FVP_Base_RevC-2xAEMv8A``h]hFVP_Base_RevC-2xAEMv8A}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhR has shifted affinities and requires a specific DTS for all the CPUs to be loaded.}(hR has shifted affinities and requires a specific DTS for all the CPUs to be loaded.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCNubeh"}(h$]:running-on-the-aemv8-base-fvp-with-reset-to-bl1-entrypointah&]h+]:running on the aemv8 base fvp with reset to bl1 entrypointah-]h/]uh1j h!jAhhhAj hCMubj )}(hhh](j )}(hDRunning on the AEMv8 Base FVP (AArch32) with reset to BL1 entrypointh]hDRunning on the AEMv8 Base FVP (AArch32) with reset to BL1 entrypoint}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCMubj )}(h}The following ``FVP_Base_AEMv8A-AEMv8A`` parameters should be used to boot Linux with 8 CPUs using the AArch32 build of TF-A.h](hThe following }(hThe following h!jhhhANhCNubj )}(h``FVP_Base_AEMv8A-AEMv8A``h]hFVP_Base_AEMv8A-AEMv8A}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!jubhU parameters should be used to boot Linux with 8 CPUs using the AArch32 build of TF-A.}(hU parameters should be used to boot Linux with 8 CPUs using the AArch32 build of TF-A.h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jhhubj)}(hX/FVP_Base_AEMv8A-AEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.CONFIG64=0 \ -C cluster0.cpu1.CONFIG64=0 \ -C cluster0.cpu2.CONFIG64=0 \ -C cluster0.cpu3.CONFIG64=0 \ -C cluster1.cpu0.CONFIG64=0 \ -C cluster1.cpu1.CONFIG64=0 \ -C cluster1.cpu2.CONFIG64=0 \ -C cluster1.cpu3.CONFIG64=0 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX/FVP_Base_AEMv8A-AEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.CONFIG64=0 \ -C cluster0.cpu1.CONFIG64=0 \ -C cluster0.cpu2.CONFIG64=0 \ -C cluster0.cpu3.CONFIG64=0 \ -C cluster1.cpu0.CONFIG64=0 \ -C cluster1.cpu1.CONFIG64=0 \ -C cluster1.cpu2.CONFIG64=0 \ -C cluster1.cpu3.CONFIG64=0 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!j9ubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMh!jhhubeh"}(h$]Brunning-on-the-aemv8-base-fvp-aarch32-with-reset-to-bl1-entrypointah&]h+]Drunning on the aemv8 base fvp (aarch32) with reset to bl1 entrypointah-]h/]uh1j h!jAhhhAj hCMubj )}(hhh](j )}(hCRunning on the Cortex-A57-A53 Base FVP with reset to BL1 entrypointh]hCRunning on the Cortex-A57-A53 Base FVP with reset to BL1 entrypoint}(hjXh!jVhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jShhhAj hCMubj )}(hThe following ``FVP_Base_Cortex-A57x4-A53x4`` model parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h](hThe following }(hThe following h!jdhhhANhCNubj )}(h``FVP_Base_Cortex-A57x4-A53x4``h]hFVP_Base_Cortex-A57x4-A53x4}(hhh!jmubah"}(h$]h&]h+]h-]h/]uh1j h!jdubh[ model parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.}(h[ model parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h!jdhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jShhubj)}(hX%/FVP_Base_Cortex-A57x4-A53x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX%/FVP_Base_Cortex-A57x4-A53x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMh!jShhubeh"}(h$]Crunning-on-the-cortex-a57-a53-base-fvp-with-reset-to-bl1-entrypointah&]h+]Crunning on the cortex-a57-a53 base fvp with reset to bl1 entrypointah-]h/]uh1j h!jAhhhAj hCMubj )}(hhh](j )}(hIRunning on the Cortex-A32 Base FVP (AArch32) with reset to BL1 entrypointh]hIRunning on the Cortex-A32 Base FVP (AArch32) with reset to BL1 entrypoint}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCMubj )}(hThe following ``FVP_Base_Cortex-A32x4`` model parameters should be used to boot Linux with 4 CPUs using the AArch32 build of TF-A.h](hThe following }(hThe following h!jhhhANhCNubj )}(h``FVP_Base_Cortex-A32x4``h]hFVP_Base_Cortex-A32x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh[ model parameters should be used to boot Linux with 4 CPUs using the AArch32 build of TF-A.}(h[ model parameters should be used to boot Linux with 4 CPUs using the AArch32 build of TF-A.h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jhhubj)}(hX%/FVP_Base_Cortex-A32x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX%/FVP_Base_Cortex-A32x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C bp.secureflashloader.fname="/" \ -C bp.flashloader0.fname="/" \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMh!jhhubeh"}(h$]Grunning-on-the-cortex-a32-base-fvp-aarch32-with-reset-to-bl1-entrypointah&]h+]Irunning on the cortex-a32 base fvp (aarch32) with reset to bl1 entrypointah-]h/]uh1j h!jAhhhAj hCMubj )}(hhh](j )}(h;Running on the AEMv8 Base FVP with reset to BL31 entrypointh]h;Running on the AEMv8 Base FVP with reset to BL31 entrypoint}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCMubj )}(h}The following ``FVP_Base_RevC-2xAEMv8A`` parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h](hThe following }(hThe following h!jhhhANhCNubj )}(h``FVP_Base_RevC-2xAEMv8A``h]hFVP_Base_RevC-2xAEMv8A}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhU parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.}(hU parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jhhubj)}(hX!/FVP_Base_RevC-2xAEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBAR=0x04010000 \ -C cluster0.cpu1.RVBAR=0x04010000 \ -C cluster0.cpu2.RVBAR=0x04010000 \ -C cluster0.cpu3.RVBAR=0x04010000 \ -C cluster1.cpu0.RVBAR=0x04010000 \ -C cluster1.cpu1.RVBAR=0x04010000 \ -C cluster1.cpu2.RVBAR=0x04010000 \ -C cluster1.cpu3.RVBAR=0x04010000 \ --data cluster0.cpu0="/"@0x04010000 \ --data cluster0.cpu0="/"@0xff000000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX!/FVP_Base_RevC-2xAEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBAR=0x04010000 \ -C cluster0.cpu1.RVBAR=0x04010000 \ -C cluster0.cpu2.RVBAR=0x04010000 \ -C cluster0.cpu3.RVBAR=0x04010000 \ -C cluster1.cpu0.RVBAR=0x04010000 \ -C cluster1.cpu1.RVBAR=0x04010000 \ -C cluster1.cpu2.RVBAR=0x04010000 \ -C cluster1.cpu3.RVBAR=0x04010000 \ --data cluster0.cpu0="/"@0x04010000 \ --data cluster0.cpu0="/"@0xff000000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!j ubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMh!jhhubj )}(hNotes:h]hNotes:}(hj4h!j2hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jhhubj )}(hhh](j )}(hPosition Independent Executable (PIE) support is enabled in this config allowing BL31 to be loaded at any valid address for execution. h]j )}(hPosition Independent Executable (PIE) support is enabled in this config allowing BL31 to be loaded at any valid address for execution.h]hPosition Independent Executable (PIE) support is enabled in this config allowing BL31 to be loaded at any valid address for execution.}(hjIh!jGubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jCubah"}(h$]h&]h+]h-]h/]uh1j h!j@hhhAj hCNubj )}(hXSince a FIP is not loaded when using BL31 as reset entrypoint, the ``--data=""@`` parameter is needed to load the individual bootloader images in memory. BL32 image is only needed if BL31 has been built to expect a Secure-EL1 Payload. For the same reason, the FDT needs to be compiled from the DT source and loaded via the ``--data cluster0.cpu0="/"@0x82000000`` parameter. h]j )}(hXSince a FIP is not loaded when using BL31 as reset entrypoint, the ``--data=""@`` parameter is needed to load the individual bootloader images in memory. BL32 image is only needed if BL31 has been built to expect a Secure-EL1 Payload. For the same reason, the FDT needs to be compiled from the DT source and loaded via the ``--data cluster0.cpu0="/"@0x82000000`` parameter.h](hCSince a FIP is not loaded when using BL31 as reset entrypoint, the }(hCSince a FIP is not loaded when using BL31 as reset entrypoint, the h!j_ubj )}(hF``--data=""@``h]hB--data=""@}(hhh!jhubah"}(h$]h&]h+]h-]h/]uh1j h!j_ubh parameter is needed to load the individual bootloader images in memory. BL32 image is only needed if BL31 has been built to expect a Secure-EL1 Payload. For the same reason, the FDT needs to be compiled from the DT source and loaded via the }(h parameter is needed to load the individual bootloader images in memory. BL32 image is only needed if BL31 has been built to expect a Secure-EL1 Payload. For the same reason, the FDT needs to be compiled from the DT source and loaded via the h!j_ubj )}(h5``--data cluster0.cpu0="/"@0x82000000``h]h1--data cluster0.cpu0="/"@0x82000000}(hhh!j{ubah"}(h$]h&]h+]h-]h/]uh1j h!j_ubh parameter.}(h parameter.h!j_ubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!j[ubah"}(h$]h&]h+]h-]h/]uh1j h!j@hhhAj hCNubj )}(hqThe ``FVP_Base_RevC-2xAEMv8A`` has shifted affinities and requires a specific DTS for all the CPUs to be loaded. h]j )}(hpThe ``FVP_Base_RevC-2xAEMv8A`` has shifted affinities and requires a specific DTS for all the CPUs to be loaded.h](hThe }(hThe h!jubj )}(h``FVP_Base_RevC-2xAEMv8A``h]hFVP_Base_RevC-2xAEMv8A}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhR has shifted affinities and requires a specific DTS for all the CPUs to be loaded.}(hR has shifted affinities and requires a specific DTS for all the CPUs to be loaded.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j@hhhAj hCNubj )}(hThe ``-C cluster.cpu.RVBAR=@`` parameter, where X and Y are the cluster and CPU numbers respectively, is used to set the reset vector for each core. h]j )}(hThe ``-C cluster.cpu.RVBAR=@`` parameter, where X and Y are the cluster and CPU numbers respectively, is used to set the reset vector for each core.h](hThe }(hThe h!jubj )}(h6``-C cluster.cpu.RVBAR=@``h]h2-C cluster.cpu.RVBAR=@}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubhv parameter, where X and Y are the cluster and CPU numbers respectively, is used to set the reset vector for each core.}(hv parameter, where X and Y are the cluster and CPU numbers respectively, is used to set the reset vector for each core.h!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!jubah"}(h$]h&]h+]h-]h/]uh1j h!j@hhhAj hCNubj )}(hChanging the default value of ``ARM_TSP_RAM_LOCATION`` will also require changing the value of ``--data=""@`` to the new value of ``BL32_BASE``. h]j )}(hChanging the default value of ``ARM_TSP_RAM_LOCATION`` will also require changing the value of ``--data=""@`` to the new value of ``BL32_BASE``.h](hChanging the default value of }(hChanging the default value of h!jubj )}(h``ARM_TSP_RAM_LOCATION``h]hARM_TSP_RAM_LOCATION}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh) will also require changing the value of }(h) will also require changing the value of h!jubj )}(h:``--data=""@``h]h6--data=""@}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh to the new value of }(h to the new value of h!jubj )}(h ``BL32_BASE``h]h BL32_BASE}(hhh!j%ubah"}(h$]h&]h+]h-]h/]uh1j h!jubh.}(hjh!jubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCM"h!jubah"}(h$]h&]h+]h-]h/]uh1j h!j@hhhAj hCNubeh"}(h$]h&]h+]h-]h/]jjuh1j hAj hCMh!jhhubeh"}(h$];running-on-the-aemv8-base-fvp-with-reset-to-bl31-entrypointah&]h+];running on the aemv8 base fvp with reset to bl31 entrypointah-]h/]uh1j h!jAhhhAj hCMubj )}(hhh](j )}(hGRunning on the AEMv8 Base FVP (AArch32) with reset to SP_MIN entrypointh]hGRunning on the AEMv8 Base FVP (AArch32) with reset to SP_MIN entrypoint}(hjVh!jThhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jQhhhAj hCM)ubj )}(h}The following ``FVP_Base_AEMv8A-AEMv8A`` parameters should be used to boot Linux with 8 CPUs using the AArch32 build of TF-A.h](hThe following }(hThe following h!jbhhhANhCNubj )}(h``FVP_Base_AEMv8A-AEMv8A``h]hFVP_Base_AEMv8A-AEMv8A}(hhh!jkubah"}(h$]h&]h+]h-]h/]uh1j h!jbubhU parameters should be used to boot Linux with 8 CPUs using the AArch32 build of TF-A.}(hU parameters should be used to boot Linux with 8 CPUs using the AArch32 build of TF-A.h!jbhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCM+h!jQhhubj)}(hX/FVP_Base_AEMv8A-AEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.CONFIG64=0 \ -C cluster0.cpu1.CONFIG64=0 \ -C cluster0.cpu2.CONFIG64=0 \ -C cluster0.cpu3.CONFIG64=0 \ -C cluster1.cpu0.CONFIG64=0 \ -C cluster1.cpu1.CONFIG64=0 \ -C cluster1.cpu2.CONFIG64=0 \ -C cluster1.cpu3.CONFIG64=0 \ -C cluster0.cpu0.RVBAR=0x04002000 \ -C cluster0.cpu1.RVBAR=0x04002000 \ -C cluster0.cpu2.RVBAR=0x04002000 \ -C cluster0.cpu3.RVBAR=0x04002000 \ -C cluster1.cpu0.RVBAR=0x04002000 \ -C cluster1.cpu1.RVBAR=0x04002000 \ -C cluster1.cpu2.RVBAR=0x04002000 \ -C cluster1.cpu3.RVBAR=0x04002000 \ --data cluster0.cpu0="/"@0x04002000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX/FVP_Base_AEMv8A-AEMv8A \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cluster0.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.CONFIG64=0 \ -C cluster0.cpu1.CONFIG64=0 \ -C cluster0.cpu2.CONFIG64=0 \ -C cluster0.cpu3.CONFIG64=0 \ -C cluster1.cpu0.CONFIG64=0 \ -C cluster1.cpu1.CONFIG64=0 \ -C cluster1.cpu2.CONFIG64=0 \ -C cluster1.cpu3.CONFIG64=0 \ -C cluster0.cpu0.RVBAR=0x04002000 \ -C cluster0.cpu1.RVBAR=0x04002000 \ -C cluster0.cpu2.RVBAR=0x04002000 \ -C cluster0.cpu3.RVBAR=0x04002000 \ -C cluster1.cpu0.RVBAR=0x04002000 \ -C cluster1.cpu1.RVBAR=0x04002000 \ -C cluster1.cpu2.RVBAR=0x04002000 \ -C cluster1.cpu3.RVBAR=0x04002000 \ --data cluster0.cpu0="/"@0x04002000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCM.h!jQhhubj )}(hPosition Independent Executable (PIE) support is enabled in this config allowing SP_MIN to be loaded at any valid address for execution.h]j )}(hPosition Independent Executable (PIE) support is enabled in this config allowing SP_MIN to be loaded at any valid address for execution.h]hPosition Independent Executable (PIE) support is enabled in this config allowing SP_MIN to be loaded at any valid address for execution.}(hjh!jubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMNh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jQhhhAj hCNubeh"}(h$]Erunning-on-the-aemv8-base-fvp-aarch32-with-reset-to-sp-min-entrypointah&]h+]Grunning on the aemv8 base fvp (aarch32) with reset to sp_min entrypointah-]h/]uh1j h!jAhhhAj hCM)ubj )}(hhh](j )}(hDRunning on the Cortex-A57-A53 Base FVP with reset to BL31 entrypointh]hDRunning on the Cortex-A57-A53 Base FVP with reset to BL31 entrypoint}(hjh!jhhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!jhhhAj hCMRubj )}(hThe following ``FVP_Base_Cortex-A57x4-A53x4`` model parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h](hThe following }(hThe following h!jhhhANhCNubj )}(h``FVP_Base_Cortex-A57x4-A53x4``h]hFVP_Base_Cortex-A57x4-A53x4}(hhh!jubah"}(h$]h&]h+]h-]h/]uh1j h!jubh[ model parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.}(h[ model parameters should be used to boot Linux with 8 CPUs using the AArch64 build of TF-A.h!jhhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMTh!jhhubj)}(hX/FVP_Base_Cortex-A57x4-A53x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBARADDR=0x04010000 \ -C cluster0.cpu1.RVBARADDR=0x04010000 \ -C cluster0.cpu2.RVBARADDR=0x04010000 \ -C cluster0.cpu3.RVBARADDR=0x04010000 \ -C cluster1.cpu0.RVBARADDR=0x04010000 \ -C cluster1.cpu1.RVBARADDR=0x04010000 \ -C cluster1.cpu2.RVBARADDR=0x04010000 \ -C cluster1.cpu3.RVBARADDR=0x04010000 \ --data cluster0.cpu0="/"@0x04010000 \ --data cluster0.cpu0="/"@0xff000000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX/FVP_Base_Cortex-A57x4-A53x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBARADDR=0x04010000 \ -C cluster0.cpu1.RVBARADDR=0x04010000 \ -C cluster0.cpu2.RVBARADDR=0x04010000 \ -C cluster0.cpu3.RVBARADDR=0x04010000 \ -C cluster1.cpu0.RVBARADDR=0x04010000 \ -C cluster1.cpu1.RVBARADDR=0x04010000 \ -C cluster1.cpu2.RVBARADDR=0x04010000 \ -C cluster1.cpu3.RVBARADDR=0x04010000 \ --data cluster0.cpu0="/"@0x04010000 \ --data cluster0.cpu0="/"@0xff000000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000$}(hhh!jubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMWh!jhhubeh"}(h$]Drunning-on-the-cortex-a57-a53-base-fvp-with-reset-to-bl31-entrypointah&]h+]Drunning on the cortex-a57-a53 base fvp with reset to bl31 entrypointah-]h/]uh1j h!jAhhhAj hCMRubj )}(hhh](j )}(hLRunning on the Cortex-A32 Base FVP (AArch32) with reset to SP_MIN entrypointh]hLRunning on the Cortex-A32 Base FVP (AArch32) with reset to SP_MIN entrypoint}(hj h!j hhhANhCNubah"}(h$]h&]h+]h-]h/]uh1j h!j hhhAj hCMnubj )}(hThe following ``FVP_Base_Cortex-A32x4`` model parameters should be used to boot Linux with 4 CPUs using the AArch32 build of TF-A.h](hThe following }(hThe following h!j hhhANhCNubj )}(h``FVP_Base_Cortex-A32x4``h]hFVP_Base_Cortex-A32x4}(hhh!j ubah"}(h$]h&]h+]h-]h/]uh1j h!j ubh[ model parameters should be used to boot Linux with 4 CPUs using the AArch32 build of TF-A.}(h[ model parameters should be used to boot Linux with 4 CPUs using the AArch32 build of TF-A.h!j hhhANhCNubeh"}(h$]h&]h+]h-]h/]uh1j hAj hCMph!j hhubj)}(hX[/FVP_Base_Cortex-A32x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBARADDR=0x04002000 \ -C cluster0.cpu1.RVBARADDR=0x04002000 \ -C cluster0.cpu2.RVBARADDR=0x04002000 \ -C cluster0.cpu3.RVBARADDR=0x04002000 \ --data cluster0.cpu0="/"@0x04002000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000h]hX[/FVP_Base_Cortex-A32x4 \ -C pctl.startup=0.0.0.0 \ -C bp.secure_memory=1 \ -C bp.tzc_400.diagnostics=1 \ -C cache_state_modelled=1 \ -C cluster0.cpu0.RVBARADDR=0x04002000 \ -C cluster0.cpu1.RVBARADDR=0x04002000 \ -C cluster0.cpu2.RVBARADDR=0x04002000 \ -C cluster0.cpu3.RVBARADDR=0x04002000 \ --data cluster0.cpu0="/"@0x04002000 \ --data cluster0.cpu0="/"@0x88000000 \ --data cluster0.cpu0="/"@0x82000000 \ --data cluster0.cpu0="/"@0x80080000 \ --data cluster0.cpu0="/"@0x84000000}(hhh!j6 ubah"}(h$]h&]h+]h-]h/]forcehighlight_args}jjj4shelluh1jhAj hCMsh!j hhubh transition)}(h--------------h]h"}(h$]h&]h+]h-]h/]uh1jH hAj hCMh!j hhubj )}(h<*Copyright (c) 2019-2021, Arm Limited. All rights reserved.*h]jN)}(hjV h]h:Copyright (c) 2019-2021, Arm Limited. All rights reserved.}(hhh!jX ubah"}(h$]h&]h+]h-]h/]uh1jMh!jT ubah"}(h$]h&]h+]h-]h/]uh1j hAj hCMh!j hhubj)}(h.. _TB_FW_CONFIG for FVP: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tree/plat/arm/board/fvp/fdts/fvp_tb_fw_config.dtsh]h"}(h$]tb-fw-config-for-fvpah&]h+]tb_fw_config for fvpah-]h/]jjuh1jhCMh!j hhhAj referencedKubj)}(h .. _Arm's website: `FVP models`_h]h"}(h$] arm-s-websiteah&]h+] arm's websiteah-]h/]jjuh1jindirect_reference_name FVP modelshCMh!j hhhAj jKjw Kubj)}(hX.. _FVP models: https://developer.arm.com/products/system-design/fixed-virtual-platformsh]h"}(h$] fvp-modelsah&]h+] fvp modelsah-]h/]jjuh1jhCMh!j hhhAj jw Kubj)}(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/]jjuh1jhCMh!j hhhAj jw Kubj)}(h].. _Arm FVP website: https://developer.arm.com/products/system-design/fixed-virtual-platformsh]h"}(h$]arm-fvp-websiteah&]h+]arm fvp websiteah-]h/]jjuh1jhCMh!j hhhAj jw Kubeh"}(h$]Jrunning-on-the-cortex-a32-base-fvp-aarch32-with-reset-to-sp-min-entrypointah&]h+]Lrunning on the cortex-a32 base fvp (aarch32) with reset to sp_min entrypointah-]h/]uh1j h!jAhhhAj hCMnubeh"}(h$])booting-a-preloaded-kernel-image-base-fvpah&]h+]+booting a preloaded kernel image (base fvp)ah-]h/]uh1j h!j hhhAj hCKubeh"}(h$]arm-fixed-virtual-platforms-fvpah&]h+]!arm fixed virtual platforms (fvp)ah-]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_handlerj error_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]jx asubstitution_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 fvp website]jwa arm's website]jalinaro release 20.01]jatb_fw_config for fvp]ja fvp models]jx aurefids}j]jasnameids}(j j jjjjjjjjj>j;j j jLjIjjjjjPjMjjjjjNjKjjj jj j jt jq j j~ j j j j j j u nametypes}(j NjNjjNjNj>Nj NjLNjNjNjPNjNjNjNNjNj Nj Njt j j j j uh$}(j j jj jjjjjjj;jj jAjIj!jjOjjjMjjjSjjjKjjjQjjj j jq jk j~ jx j j j j j j u 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]hDHyperlink target "build-options-arm-fvp-platform" is not referenced.}(hhh!j!ubah"}(h$]h&]h+]h-]h/]uh1j h!j!ubah"}(h$]h&]h+]h-]h/]levelKtypeINFOsourcej lineKuh1j!uba transformerN decorationNhhub.