16338876bSHarrison MutaiRuntime Instrumentation Testing - N1SDP 26338876bSHarrison Mutai======================================= 36338876bSHarrison Mutai 46338876bSHarrison MutaiFor this test we used the N1 System Development Platform (`N1SDP`_), which 56338876bSHarrison Mutaicontains an SoC consisting of two dual-core Arm N1 clusters. 66338876bSHarrison Mutai 76338876bSHarrison MutaiThe following source trees and binaries were used: 86338876bSHarrison Mutai 96338876bSHarrison Mutai- TF-A [`v2.9-rc0-16-g666aec401`_] 106338876bSHarrison Mutai- TFTF [`v2.9-rc0`_] 116338876bSHarrison Mutai- SCP/MCP `Prebuilt Images`_ 126338876bSHarrison Mutai 135fdf198cSThaddeus SernaPlease see the Runtime Instrumentation :ref:`Testing Methodology 145fdf198cSThaddeus Serna<Runtime Instrumentation Methodology>` page for more details. 156338876bSHarrison Mutai 166338876bSHarrison MutaiProcedure 176338876bSHarrison Mutai--------- 186338876bSHarrison Mutai 196338876bSHarrison Mutai#. Build TFTF with runtime instrumentation enabled: 206338876bSHarrison Mutai 216338876bSHarrison Mutai .. code:: shell 226338876bSHarrison Mutai 236338876bSHarrison Mutai make CROSS_COMPILE=aarch64-none-elf- PLAT=n1sdp \ 246338876bSHarrison Mutai TESTS=runtime-instrumentation all 256338876bSHarrison Mutai 266338876bSHarrison Mutai#. Build TF-A with the following build options: 276338876bSHarrison Mutai 286338876bSHarrison Mutai .. code:: shell 296338876bSHarrison Mutai 306338876bSHarrison Mutai make CROSS_COMPILE=aarch64-none-elf- PLAT=n1sdp \ 316338876bSHarrison Mutai ENABLE_RUNTIME_INSTRUMENTATION=1 fiptool all 326338876bSHarrison Mutai 336338876bSHarrison Mutai#. Fetch the SCP firmware images: 346338876bSHarrison Mutai 356338876bSHarrison Mutai .. code:: shell 366338876bSHarrison Mutai 376338876bSHarrison Mutai curl --fail --connect-timeout 5 --retry 5 \ 386338876bSHarrison Mutai -sLS -o build/n1sdp/release/scp_rom.bin \ 396338876bSHarrison Mutai https://downloads.trustedfirmware.org/tf-a/css_scp_2.12.0/n1sdp/release/n1sdp-bl1.bin 406338876bSHarrison Mutai curl --fail --connect-timeout 5 \ 416338876bSHarrison Mutai --retry 5 -sLS -o build/n1sdp/release/scp_ram.bin \ 426338876bSHarrison Mutai https://downloads.trustedfirmware.org/tf-a/css_scp_2.12.0/n1sdp/release/n1sdp-bl2.bin 436338876bSHarrison Mutai 446338876bSHarrison Mutai#. Fetch the MCP firmware images: 456338876bSHarrison Mutai 466338876bSHarrison Mutai .. code:: shell 476338876bSHarrison Mutai 486338876bSHarrison Mutai curl --fail --connect-timeout 5 --retry 5 \ 496338876bSHarrison Mutai -sLS -o build/n1sdp/release/mcp_rom.bin \ 506338876bSHarrison Mutai https://downloads.trustedfirmware.org/tf-a/css_scp_2.12.0/n1sdp/release/n1sdp-mcp-bl1.bin 516338876bSHarrison Mutai curl --fail --connect-timeout 5 --retry 5 \ 526338876bSHarrison Mutai -sLS -o build/n1sdp/release/mcp_ram.bin \ 536338876bSHarrison Mutai https://downloads.trustedfirmware.org/tf-a/css_scp_2.12.0/n1sdp/release/n1sdp-mcp-bl2.bin 546338876bSHarrison Mutai 556338876bSHarrison Mutai#. Using the fiptool, create a new FIP package and append the SCP ram image onto 566338876bSHarrison Mutai it. 576338876bSHarrison Mutai 586338876bSHarrison Mutai .. code:: shell 596338876bSHarrison Mutai 606338876bSHarrison Mutai ./tools/fiptool/fiptool create --blob \ 616338876bSHarrison Mutai uuid=cfacc2c4-15e8-4668-82be-430a38fad705,file=build/n1sdp/release/bl1.bin \ 626338876bSHarrison Mutai --scp-fw build/n1sdp/release/scp_ram.bin build/n1sdp/release/scp_fw.bin 636338876bSHarrison Mutai 646338876bSHarrison Mutai#. Append the MCP image to the FIP. 656338876bSHarrison Mutai 666338876bSHarrison Mutai .. code:: shell 676338876bSHarrison Mutai 686338876bSHarrison Mutai ./tools/fiptool/fiptool create \ 696338876bSHarrison Mutai --blob uuid=54464222-a4cf-4bf8-b1b6-cee7dade539e,file=build/n1sdp/release/mcp_ram.bin \ 706338876bSHarrison Mutai build/n1sdp/release/mcp_fw.bin 716338876bSHarrison Mutai 726338876bSHarrison Mutai#. Then, add TFTF as the Non-Secure workload in the FIP image: 736338876bSHarrison Mutai 746338876bSHarrison Mutai .. code:: shell 756338876bSHarrison Mutai 766338876bSHarrison Mutai make CROSS_COMPILE=aarch64-none-elf- PLAT=n1sdp \ 776338876bSHarrison Mutai ENABLE_RUNTIME_INSTRUMENTATION=1 SCP_BL2=/dev/null \ 786338876bSHarrison Mutai BL33=<path/to/tftf.bin> fip 796338876bSHarrison Mutai 806338876bSHarrison Mutai#. Load the following images onto the development board: ``fip.bin``, 816338876bSHarrison Mutai ``scp_rom.bin``, ``scp_ram.bin``, ``mcp_rom.bin``, and ``mcp_ram.bin``. 826338876bSHarrison Mutai 836338876bSHarrison Mutai.. note:: 846338876bSHarrison Mutai 856338876bSHarrison Mutai These instructions presume you have a complete firmware stack. The N1SDP 866338876bSHarrison Mutai `user guide`_ provides a detailed explanation on how to get setup from 876338876bSHarrison Mutai scratch. 886338876bSHarrison Mutai 896338876bSHarrison MutaiResults 906338876bSHarrison Mutai------- 916338876bSHarrison Mutai 926338876bSHarrison Mutai``CPU_SUSPEND`` to deepest power level 936338876bSHarrison Mutai~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 946338876bSHarrison Mutai 956338876bSHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in 96*fe7d06a6SHarrison Mutai parallel (v2.9) 976338876bSHarrison Mutai 98*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 99*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 100*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 101*fe7d06a6SHarrison Mutai | 0 | 0 | 2.80 | 10.08 | 0.80 | 102*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 103*fe7d06a6SHarrison Mutai | 0 | 0 | 4.14 | 15.92 | 0.16 | 104*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 105*fe7d06a6SHarrison Mutai | 1 | 0 | 3.68 | 12.96 | 0.16 | 106*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 107*fe7d06a6SHarrison Mutai | 1 | 0 | 3.36 | 18.58 | 0.18 | 108*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 1096338876bSHarrison Mutai 1106338876bSHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in 111*fe7d06a6SHarrison Mutai parallel (v2.10) 1126338876bSHarrison Mutai 113*fe7d06a6SHarrison Mutai +---------+------+----------------+------------------+-----------------+ 114*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 115*fe7d06a6SHarrison Mutai +---------+------+----------------+------------------+-----------------+ 116*fe7d06a6SHarrison Mutai | 0 | 0 | 2.12 | 23.94 (+137.50%) | 0.42 (-47.50%) | 117*fe7d06a6SHarrison Mutai +---------+------+----------------+------------------+-----------------+ 118*fe7d06a6SHarrison Mutai | 0 | 0 | 3.52 | 42.08 (+164.32%) | 0.26 (+62.50%) | 119*fe7d06a6SHarrison Mutai +---------+------+----------------+------------------+-----------------+ 120*fe7d06a6SHarrison Mutai | 1 | 0 | 2.76 (-25.00%) | 38.3 (+195.52%) | 0.26 (+62.50%) | 121*fe7d06a6SHarrison Mutai +---------+------+----------------+------------------+-----------------+ 122*fe7d06a6SHarrison Mutai | 1 | 0 | 2.64 | 44.56 (+139.83%) | 0.36 (+100.00%) | 123*fe7d06a6SHarrison Mutai +---------+------+----------------+------------------+-----------------+ 124*fe7d06a6SHarrison Mutai 125*fe7d06a6SHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in 126*fe7d06a6SHarrison Mutai serial (v2.9) 127*fe7d06a6SHarrison Mutai 128*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 129*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 130*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 131*fe7d06a6SHarrison Mutai | 0 | 0 | 1.86 | 9.92 | 0.32 | 132*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 133*fe7d06a6SHarrison Mutai | 0 | 0 | 2.70 | 10.48 | 0.36 | 134*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 135*fe7d06a6SHarrison Mutai | 1 | 0 | 1.78 | 9.72 | 0.16 | 136*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 137*fe7d06a6SHarrison Mutai | 1 | 0 | 1.94 | 10.44 | 0.16 | 138*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 139*fe7d06a6SHarrison Mutai 140*fe7d06a6SHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in 141*fe7d06a6SHarrison Mutai serial (v2.10) 142*fe7d06a6SHarrison Mutai 143*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 144*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 145*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 146*fe7d06a6SHarrison Mutai | 0 | 0 | 1.74 | 23.7 (+138.91%) | 0.3 | 147*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 148*fe7d06a6SHarrison Mutai | 0 | 0 | 2.08 | 23.96 (+128.63%) | 0.26 (-27.78%) | 149*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 150*fe7d06a6SHarrison Mutai | 1 | 0 | 1.9 | 23.62 (+143.00%) | 0.28 (+75.00%) | 151*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 152*fe7d06a6SHarrison Mutai | 1 | 0 | 2.06 | 23.92 (+129.12%) | 0.26 (+62.50%) | 153*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 1546338876bSHarrison Mutai 1556338876bSHarrison Mutai``CPU_SUSPEND`` to power level 0 1566338876bSHarrison Mutai~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1576338876bSHarrison Mutai 1586338876bSHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in 159*fe7d06a6SHarrison Mutai parallel (v2.9) 1606338876bSHarrison Mutai 161*fe7d06a6SHarrison Mutai +---------------------------------------------------+ 162*fe7d06a6SHarrison Mutai | test_rt_instr_cpu_susp_parallel | 163*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 164*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 165*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 166*fe7d06a6SHarrison Mutai | 0 | 0 | 0.88 | 12.32 | 0.26 | 167*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 168*fe7d06a6SHarrison Mutai | 0 | 0 | 2.12 | 14.62 | 0.26 | 169*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 170*fe7d06a6SHarrison Mutai | 1 | 0 | 1.86 | 14.14 | 0.16 | 171*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 172*fe7d06a6SHarrison Mutai | 1 | 0 | 1.92 | 9.44 | 0.18 | 173*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 1746338876bSHarrison Mutai 175*fe7d06a6SHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in 176*fe7d06a6SHarrison Mutai parallel (v2.10) 1776338876bSHarrison Mutai 178*fe7d06a6SHarrison Mutai +---------+------+---------------+------------------+----------------+ 179*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 180*fe7d06a6SHarrison Mutai +---------+------+---------------+------------------+----------------+ 181*fe7d06a6SHarrison Mutai | 0 | 0 | 1.5 (+70.45%) | 35.02 (+184.25%) | 0.24 | 182*fe7d06a6SHarrison Mutai +---------+------+---------------+------------------+----------------+ 183*fe7d06a6SHarrison Mutai | 0 | 0 | 1.92 | 38.12 (+160.74%) | 0.28 | 184*fe7d06a6SHarrison Mutai +---------+------+---------------+------------------+----------------+ 185*fe7d06a6SHarrison Mutai | 1 | 0 | 1.88 | 38.1 (+169.45%) | 0.26 (+62.50%) | 186*fe7d06a6SHarrison Mutai +---------+------+---------------+------------------+----------------+ 187*fe7d06a6SHarrison Mutai | 1 | 0 | 2.04 | 23.1 (+144.70%) | 0.24 | 188*fe7d06a6SHarrison Mutai +---------+------+---------------+------------------+----------------+ 189*fe7d06a6SHarrison Mutai 190*fe7d06a6SHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in serial (v2.9) 191*fe7d06a6SHarrison Mutai 192*fe7d06a6SHarrison Mutai +---------------------------------------------------+ 193*fe7d06a6SHarrison Mutai | test_rt_instr_cpu_susp_serial | 194*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 195*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 196*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 197*fe7d06a6SHarrison Mutai | 0 | 0 | 1.52 | 9.40 | 0.30 | 198*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 199*fe7d06a6SHarrison Mutai | 0 | 0 | 1.92 | 9.80 | 0.18 | 200*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 201*fe7d06a6SHarrison Mutai | 1 | 0 | 2.20 | 9.60 | 0.14 | 202*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 203*fe7d06a6SHarrison Mutai | 1 | 0 | 1.82 | 9.78 | 0.18 | 204*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 205*fe7d06a6SHarrison Mutai 206*fe7d06a6SHarrison Mutai.. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in serial (v2.10) 207*fe7d06a6SHarrison Mutai 208*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+-----------------+ 209*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 210*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+-----------------+ 211*fe7d06a6SHarrison Mutai | 0 | 0 | 1.52 | 23.08 (+145.53%) | 0.3 | 212*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+-----------------+ 213*fe7d06a6SHarrison Mutai | 0 | 0 | 1.98 | 23.68 (+141.63%) | 0.28 (+55.56%) | 214*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+-----------------+ 215*fe7d06a6SHarrison Mutai | 1 | 0 | 1.84 | 23.86 (+148.54%) | 0.28 (+100.00%) | 216*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+-----------------+ 217*fe7d06a6SHarrison Mutai | 1 | 0 | 1.98 | 23.68 (+142.13%) | 0.28 (+55.56%) | 218*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+-----------------+ 2196338876bSHarrison Mutai 2206338876bSHarrison Mutai``CPU_OFF`` on all non-lead CPUs 2216338876bSHarrison Mutai~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2226338876bSHarrison Mutai 2236338876bSHarrison Mutai``CPU_OFF`` on all non-lead CPUs in sequence then, ``CPU_SUSPEND`` on the lead 2246338876bSHarrison Mutaicore to the deepest power level. 2256338876bSHarrison Mutai 226*fe7d06a6SHarrison Mutai.. table:: ``CPU_OFF`` latencies (µs) on all non-lead CPUs (v2.9) 2276338876bSHarrison Mutai 228*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 229*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 230*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 231*fe7d06a6SHarrison Mutai | 0 | 0 | 1.84 | 9.94 | 0.32 | 232*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 233*fe7d06a6SHarrison Mutai | 0 | 0 | 14.20 | 13.10 | 0.50 | 234*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 235*fe7d06a6SHarrison Mutai | 1 | 0 | 13.88 | 12.36 | 0.42 | 236*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 237*fe7d06a6SHarrison Mutai | 1 | 0 | 14.40 | 13.26 | 0.52 | 238*fe7d06a6SHarrison Mutai +---------+------+-----------+--------+-------------+ 239*fe7d06a6SHarrison Mutai 240*fe7d06a6SHarrison Mutai.. table:: ``CPU_OFF`` latencies (µs) on all non-lead CPUs (v2.10) 241*fe7d06a6SHarrison Mutai 242*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 243*fe7d06a6SHarrison Mutai | Cluster | Core | Powerdown | Wakeup | Cache Flush | 244*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 245*fe7d06a6SHarrison Mutai | 0 | 0 | 1.78 | 23.7 (+138.43%) | 0.3 | 246*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 247*fe7d06a6SHarrison Mutai | 0 | 0 | 13.96 | 31.16 (+137.86%) | 0.34 (-32.00%) | 248*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 249*fe7d06a6SHarrison Mutai | 1 | 0 | 13.54 | 30.24 (+144.66%) | 0.26 (-38.10%) | 250*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 251*fe7d06a6SHarrison Mutai | 1 | 0 | 14.46 | 31.12 (+134.69%) | 0.7 (+34.62%) | 252*fe7d06a6SHarrison Mutai +---------+------+-----------+------------------+----------------+ 2536338876bSHarrison Mutai 2546338876bSHarrison Mutai``CPU_VERSION`` in parallel 2556338876bSHarrison Mutai~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2566338876bSHarrison Mutai 257*fe7d06a6SHarrison Mutai.. table:: ``CPU_VERSION`` latency (µs) in parallel on all cores (v2.9) 2586338876bSHarrison Mutai 259*fe7d06a6SHarrison Mutai +------------------------------------+ 260*fe7d06a6SHarrison Mutai | test_rt_instr_psci_version_parallel| 261*fe7d06a6SHarrison Mutai +-------------+--------+-------------+ 2626338876bSHarrison Mutai | Cluster | Core | Latency | 263*fe7d06a6SHarrison Mutai +-------------+--------+-------------+ 2646338876bSHarrison Mutai | 0 | 0 | 0.08 | 265*fe7d06a6SHarrison Mutai +-------------+--------+-------------+ 266*fe7d06a6SHarrison Mutai | 0 | 0 | 0.26 | 267*fe7d06a6SHarrison Mutai +-------------+--------+-------------+ 268*fe7d06a6SHarrison Mutai | 1 | 0 | 0.20 | 269*fe7d06a6SHarrison Mutai +-------------+--------+-------------+ 270*fe7d06a6SHarrison Mutai | 1 | 0 | 0.26 | 271*fe7d06a6SHarrison Mutai +-------------+--------+-------------+ 272*fe7d06a6SHarrison Mutai 273*fe7d06a6SHarrison Mutai.. table:: ``CPU_VERSION`` latency (µs) in parallel on all cores (v2.10) 274*fe7d06a6SHarrison Mutai 275*fe7d06a6SHarrison Mutai +----------------------------------------------+ 276*fe7d06a6SHarrison Mutai | test_rt_instr_psci_version_parallel (latest) | 277*fe7d06a6SHarrison Mutai +-------------+--------+-----------------------+ 278*fe7d06a6SHarrison Mutai | Cluster | Core | Latency | 279*fe7d06a6SHarrison Mutai +-------------+--------+-----------------------+ 280*fe7d06a6SHarrison Mutai | 0 | 0 | 0.14 (+75.00%) | 281*fe7d06a6SHarrison Mutai +-------------+--------+-----------------------+ 282*fe7d06a6SHarrison Mutai | 0 | 0 | 0.22 | 283*fe7d06a6SHarrison Mutai +-------------+--------+-----------------------+ 284*fe7d06a6SHarrison Mutai | 1 | 0 | 0.2 | 285*fe7d06a6SHarrison Mutai +-------------+--------+-----------------------+ 286*fe7d06a6SHarrison Mutai | 1 | 0 | 0.26 | 287*fe7d06a6SHarrison Mutai +-------------+--------+-----------------------+ 2886338876bSHarrison Mutai 2896338876bSHarrison Mutai-------------- 2906338876bSHarrison Mutai 2916338876bSHarrison Mutai*Copyright (c) 2023, Arm Limited. All rights reserved.* 2926338876bSHarrison Mutai 2936338876bSHarrison Mutai.. _v2.9-rc0-16-g666aec401: https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/heads/v2.9-rc0-16-g666aec401 2946338876bSHarrison Mutai.. _v2.9-rc0: https://review.trustedfirmware.org/plugins/gitiles/TF-A/tf-a-tests/+/refs/tags/v2.9-rc0 2956338876bSHarrison Mutai.. _user guide: https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/n1sdp/user-guide.rst 2966338876bSHarrison Mutai.. _Prebuilt Images: https://downloads.trustedfirmware.org/tf-a/css_scp_2.11.0/n1sdp/release/ 2976338876bSHarrison Mutai.. _N1SDP: https://developer.arm.com/documentation/101489/latest 298