blob: cb696e68f5788a518a5b10a161b40da61d18c41a [file] [log] [blame]
Paul Beesley5c928952019-10-24 11:57:00 +00001User Guide
2==========
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02003
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02004Getting the TF-A Tests source code
5----------------------------------
6
7Download the TF-A Tests source code using the following command:
8
9::
10
Sandrine Bailleux2d0136e2018-11-05 14:21:27 +010011 git clone https://git.trustedfirmware.org/TF-A/tf-a-tests.git
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020012
13Building TF-A Tests
14-------------------
15
16- Before building TF-A Tests, the environment variable ``CROSS_COMPILE`` must
Madhukar Pappireddy6f203722020-01-07 00:28:49 -060017 point to the cross compiler.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020018
19 For AArch64:
20
21 ::
22
Madhukar Pappireddy6f203722020-01-07 00:28:49 -060023 export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020024
25 For AArch32:
26
27 ::
28
Madhukar Pappireddy6f203722020-01-07 00:28:49 -060029 export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-none-eabi-
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020030
31- Change to the root directory of the TF-A Tests source tree and build.
32
33 For AArch64:
34
35 ::
36
37 make PLAT=<platform>
38
39 For AArch32:
40
41 ::
42
43 make PLAT=<platform> ARCH=aarch32
44
45 Notes:
46
47 - If ``PLAT`` is not specified, ``fvp`` is assumed by default. See the
48 `Summary of build options`_ for more information on available build
49 options.
50
51 - By default this produces a release version of the build. To produce a
52 debug version instead, build the code with ``DEBUG=1``.
53
54 - The build process creates products in a ``build/`` directory tree,
55 building the objects and binaries for each test image in separate
56 sub-directories. The following binary files are created from the
57 corresponding ELF files:
58
59 - ``build/<platform>/<build-type>/tftf.bin``
60 - ``build/<platform>/<build-type>/ns_bl1u.bin``
61 - ``build/<platform>/<build-type>/ns_bl2u.bin``
62 - ``build/<platform>/<build-type>/el3_payload.bin``
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +000063 - ``build/<platform>/<build-type>/cactus_mm.bin``
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020064 - ``build/<platform>/<build-type>/cactus.bin``
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +000065 - ``build/<platform>/<build-type>/ivy.bin``
Antonio Nino Diaz26b38642019-03-28 13:16:04 +000066 - ``build/<platform>/<build-type>/quark.bin``
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020067
68 where ``<platform>`` is the name of the chosen platform and ``<build-type>``
69 is either ``debug`` or ``release``. The actual number of images might differ
70 depending on the platform.
71
72 Refer to the sections below for more information about each image.
73
74- Build products for a specific build variant can be removed using:
75
76 ::
77
78 make DEBUG=<D> PLAT=<platform> clean
79
80 ... where ``<D>`` is ``0`` or ``1``, as specified when building.
81
82 The build tree can be removed completely using:
83
84 ::
85
86 make realclean
87
88- Use the following command to list all supported build commands:
89
90 ::
91
92 make help
93
94TFTF test image
95```````````````
96
97``tftf.bin`` is the main test image to exercise the TF-A features. The other
98test images provided in this repository are optional dependencies that TFTF
99needs to test some specific features.
100
101``tftf.bin`` may be built independently of the other test images using the
102following command:
103
104::
105
106 make PLAT=<platform> tftf
107
108In TF-A boot flow, ``tftf.bin`` replaces the ``BL33`` image and should be
109injected in the FIP image. This might be achieved by running the following
110command from the TF-A root directory:
111
112::
113
114 BL33=tftf.bin make PLAT=<platform> fip
115
116Please refer to the `TF-A User guide`_ for further details.
117
118NS_BL1U and NS_BL2U test images
119```````````````````````````````
120
121``ns_bl1u.bin`` and ``ns_bl2u.bin`` are test images that exercise the `Firmware
122Update`_ (FWU) feature of TF-A [#]_. Throughout this document, they will be
123referred as the `FWU test images`.
124
125In addition to updating the firmware, the FWU test images also embed some tests
126that exercise the `FWU state machine`_ implemented in the TF-A. They send valid
127and invalid SMC requests to the TF-A BL1 image in order to test its robustness.
128
129NS_BL1U test image
130''''''''''''''''''
131
132The ``NS_BL1U`` image acts as the `Application Processor (AP) Firmware Update
133Boot ROM`. This typically is the first software agent executing on the AP in the
134Normal World during a firmware update operation. Its primary purpose is to load
135subsequent firmware update images from an external interface, such as NOR Flash,
136and communicate with ``BL1`` to authenticate those images.
137
138The ``NS_BL1U`` test image provided in this repository performs the following
139tasks:
140
141- Load FWU images from external non-volatile storage (typically flash memory)
142 to Non-Secure RAM.
143
144- Request TF-A BL1 to copy these images in Secure RAM and authenticate them.
145
146- Jump to ``NS_BL2U`` which carries out the next steps in the firmware update
147 process.
148
149This image may be built independently of the other test images using the
150following command:
151
152::
153
154 make PLAT=<platform> ns_bl1u
155
156NS_BL2U test image
157''''''''''''''''''
158
159The ``NS_BL2U`` image acts as the `AP Firmware Updater`. Its primary
160responsibility is to load a new set of firmware images from an external
161interface and write them into non-volatile storage.
162
163The ``NS_BL2U`` test image provided in this repository overrides the original
164FIP image stored in flash with the backup FIP image (see below).
165
166This image may be built independently of the other test images using the
167following command:
168
169::
170
171 make PLAT=<platform> ns_bl2u
172
173Putting it all together
174'''''''''''''''''''''''
175
176The FWU test images should be used in conjunction with the TFTF image, as the
177latter initiates the FWU process by corrupting the FIP image and resetting the
178target. Once the FWU process is complete, TFTF takes over again and checks that
179the firmware was successfully updated.
180
181To sum up, 3 images must be built out of the TF-A Tests repository in order to
182test the TF-A Firmware Update feature:
183
John Tsichritzis4586e0d2018-10-18 10:00:28 +0100184- ``ns_bl1u.bin``
185- ``ns_bl2u.bin``
186- ``tftf.bin``
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200187
188Once that's done, they must be combined in the right way.
189
John Tsichritzis4586e0d2018-10-18 10:00:28 +0100190- ``ns_bl1u.bin`` is a standalone image and does not require any further
191 processing.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200192
John Tsichritzis4586e0d2018-10-18 10:00:28 +0100193- ``ns_bl2u.bin`` must be injected into the ``FWU_FIP`` image. This might be
194 achieved by setting ``NS_BL2U=ns_bl2u.bin`` when building the ``FWU_FIP``
195 image out of the TF-A repository. Please refer to the section `Building FIP
196 images with support for Trusted Board Boot`_ in the TF-A User Guide.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200197
John Tsichritzis4586e0d2018-10-18 10:00:28 +0100198- ``tftf.bin`` must be injected in the standard FIP image, as explained
199 in section `TFTF test image`_.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200200
201Additionally, on Juno platform, the FWU FIP must contain a ``SCP_BL2U`` image.
202This image can simply be a copy of the standard ``SCP_BL2`` image if no specific
203firmware update operations need to be carried on the SCP side.
204
205Finally, the backup FIP image must be created. This can simply be a copy of the
206standard FIP image, which means that the Firmware Update process will restore
207the original, uncorrupted FIP image.
208
209EL3 test payload
210````````````````
211
212``el3_payload.bin`` is a test image exercising the alternative `EL3 payload boot
213flow`_ in TF-A. Refer to the `EL3 test payload README file`_ for more details
214about its behaviour and how to build and run it.
215
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000216SPM test images
217```````````````
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200218
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000219This repository contains 3 Secure Partitions that exercise the `Secure Partition
220Manager`_ (SPM) in TF-A [#]_. Cactus-MM is designed to test the SPM
221implementation based on the `ARM Management Mode Interface`_ (MM), while Cactus
222and Ivy can test the SPM implementation based on the SPCI and SPRT draft
223specifications. Note that it isn't possible to use both communication mechanisms
224at once: If Cactus-MM is used Cactus and Ivy can't be used.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200225
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000226They run in Secure-EL0 and perform the following tasks:
227
228- Test that TF-A has correctly setup the secure partition environment: They
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200229 should be allowed to perform cache maintenance operations, access floating
230 point registers, etc.
231
232- Test that TF-A accepts to change data access permissions and instruction
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000233 permissions on behalf of the Secure Partitions for memory regions the latter
234 owns.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200235
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000236- Test communication with SPM through either MM, or both SPCI and SPRT.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200237
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000238They are only supported on AArch64 FVP. They can be built independently of the
239other test images using the following command:
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200240
241::
242
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000243 make PLAT=fvp cactus ivy cactus_mm
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200244
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000245In the TF-A boot flow, the partitions replace the ``BL32`` image and should be
246injected in the FIP image. To test SPM-MM with Cactus-MM, it is enough to use
247``cactus_mm.bin`` as BL32 image. To test the SPM based on SPCI and SPRT, it is
248needed to use ``sp_tool`` to build a Secure Partition package that can be used
249as BL32 image.
250
251To run the full set of tests in the Secure Partitions, they should be used in
252conjunction with the TFTF image.
253
254For SPM-MM, the following commands can be used to build the tests:
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200255
256::
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000257 # TF-A-Tests repository:
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200258
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000259 make PLAT=fvp TESTS=spm-mm tftf cactus_mm
260
261 # TF-A repository:
262
263 make BL33=path/to/tftf.bin BL32=path/to/cactus_mm.bin \
264 PLAT=fvp EL3_EXCEPTION_HANDLING=1 ENABLE_SPM=1 all fip
265
266For SPM based on SPCI and SPRT:
267
268::
269 # TF-A-Tests repository:
270
271 make PLAT=fvp TESTS=spm tftf cactus ivy
272
273 # TF-A repository:
274
275 make sptool
276
277 tools/sptool/sptool -o sp_package.bin \
278 -i path/to/cactus.bin:path/to/cactus.dtb \
279 -i path/to/ivy.bin:path/to/ivy.dtb
280
281 make BL33=path/to/tftf.bin BL32=path/to/sp_package.bin \
282 PLAT=fvp ENABLE_SPM=1 SPM_MM=0 ARM_BL31_IN_DRAM=1 all fip
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200283
284Please refer to the `TF-A User guide`_ for further details.
285
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200286Summary of build options
287````````````````````````
288
289As much as possible, TF-A Tests dynamically detect the platform hardware
290components and available features. There are a few build options to select
291specific features where the dynamic detection falls short. This section lists
292them.
293
294Unless mentioned otherwise, these options are expected to be specified at the
295build command line and are not to be modified in any component makefiles.
296
297Note that the build system doesn't track dependencies for build options.
298Therefore, if any of the build options are changed from a previous build, a
299clean build must be performed.
300
301Build options shared across test images
302'''''''''''''''''''''''''''''''''''''''
303
304Most of the build options listed in this section apply to TFTF, the FWU test
305images and Cactus, unless otherwise specified. These do not influence the EL3
306payload, whose simplistic build system is mostly independent.
307
308- ``ARCH``: Choose the target build architecture for TF-A Tests. It can take
309 either ``aarch64`` or ``aarch32`` as values. By default, it is defined to
310 ``aarch64``. Not all test images support this build option.
311
312- ``ARM_ARCH_MAJOR``: The major version of Arm Architecture to target when
313 compiling TF-A Tests. Its value must be numeric, and defaults to 8.
314
315- ``ARM_ARCH_MINOR``: The minor version of Arm Architecture to target when
316 compiling TF-A Tests. Its value must be a numeric, and defaults to 0.
317
318- ``DEBUG``: Chooses between a debug and a release build. A debug build
319 typically embeds assertions checking the validity of some assumptions and its
320 output is more verbose. The option can take either 0 (release) or 1 (debug)
321 as values. 0 is the default.
322
323- ``ENABLE_ASSERTIONS``: This option controls whether calls to ``assert()`` are
324 compiled out.
325
John Tsichritzis4586e0d2018-10-18 10:00:28 +0100326 - For debug builds, this option defaults to 1, and calls to ``assert()`` are
327 compiled in.
328 - For release builds, this option defaults to 0 and calls to ``assert()``
329 are compiled out.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200330
John Tsichritzis4586e0d2018-10-18 10:00:28 +0100331 This option can be set independently of ``DEBUG``. It can also be used to
332 hide any auxiliary code that is only required for the assertion and does not
333 fit in the assertion itself.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200334
335- ``LOG_LEVEL``: Chooses the log level, which controls the amount of console log
336 output compiled into the build. This should be one of the following:
337
338 ::
339
340 0 (LOG_LEVEL_NONE)
341 10 (LOG_LEVEL_ERROR)
342 20 (LOG_LEVEL_NOTICE)
343 30 (LOG_LEVEL_WARNING)
344 40 (LOG_LEVEL_INFO)
345 50 (LOG_LEVEL_VERBOSE)
346
347 All log output up to and including the selected log level is compiled into
348 the build. The default value is 40 in debug builds and 20 in release builds.
349
350- ``PLAT``: Choose a platform to build TF-A Tests for. The chosen platform name
351 must be a subdirectory of any depth under ``plat/``, and must contain a
352 platform makefile named ``platform.mk``. For example, to build TF-A Tests for
353 the Arm Juno board, select ``PLAT=juno``.
354
355- ``V``: Verbose build. If assigned anything other than 0, the build commands
356 are printed. Default is 0.
357
358TFTF build options
359''''''''''''''''''
360
Antonio Nino Diaz9c9f92c2019-03-13 13:57:39 +0000361- ``ENABLE_PAUTH``: Boolean option to enable ARMv8.3 Pointer Authentication
362 (``ARMv8.3-PAuth``) support in the Trusted Firmware-A Test Framework itself.
363 If enabled, it is needed to use a compiler that supports the option
Alexei Fedorov719714f2019-10-03 10:57:53 +0100364 ``-mbranch-protection`` (GCC 9 and later). It defaults to 0.
Antonio Nino Diaz9c9f92c2019-03-13 13:57:39 +0000365
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200366- ``NEW_TEST_SESSION``: Choose whether a new test session should be started
367 every time or whether the framework should determine whether a previous
368 session was interrupted and resume it. It can take either 1 (always
369 start new session) or 0 (resume session as appropriate). 1 is the default.
370
Sandrine Bailleux43ded0f2018-10-03 17:15:05 +0200371- ``TESTS``: Set of tests to run. Use the following command to list all
372 possible sets of tests:
373
374 ::
375
376 make help_tests
377
378 If no set of tests is specified, the standard tests will be selected (see
379 ``tftf/tests/tests-standard.xml``).
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200380
381- ``USE_NVM``: Used to select the location of test results. It can take either 0
382 (RAM) or 1 (non-volatile memory like flash) as test results storage. Default
383 value is 0, as writing to the flash significantly slows tests down.
384
385FWU test images build options
386'''''''''''''''''''''''''''''
387
388- ``FIRMWARE_UPDATE``: Whether the Firmware Update test images (i.e.
389 ``NS_BL1U`` and ``NS_BL2U``) should be built. The default value is 0. The
390 platform makefile is free to override this value if Firmware Update is
391 supported on this platform.
392
Alexei Fedorov0f305472019-10-29 14:06:54 +0000393Arm FVP platform specific build options
394'''''''''''''''''''''''''''''''''''''''
395
396- ``FVP_MAX_PE_PER_CPU``: Sets the maximum number of PEs implemented on any CPU
397 in the system. It can take either 1 or 2 values. This option defaults to 1.
398
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200399Checking source code style
400--------------------------
401
402When making changes to the source for submission to the project, the source must
403be in compliance with the Linux style guide. To assist with this, the project
404Makefile provides two targets, which both utilise the ``checkpatch.pl`` script
405that ships with the Linux source tree.
406
407To check the entire source tree, you must first download copies of
408``checkpatch.pl``, ``spelling.txt`` and ``const_structs.checkpatch`` available
409in the `Linux master tree`_ scripts directory, then set the ``CHECKPATCH``
410environment variable to point to ``checkpatch.pl`` (with the other 2 files in
411the same directory).
412
413Then use the following command:
414
415::
416
417 make CHECKPATCH=<path-to-linux>/linux/scripts/checkpatch.pl checkcodebase
418
419To limit the coding style checks to your local changes, use:
420
421::
422
423 make CHECKPATCH=<path-to-linux>/linux/scripts/checkpatch.pl checkpatch
424
425By default, this will check all patches between ``origin/master`` and your local
426branch. If you wish to use a different reference commit, this can be specified
427using the ``BASE_COMMIT`` variable.
428
429Running the TF-A Tests
430----------------------
431
432Refer to the sections `Running the software on FVP`_ and `Running the software
433on Juno`_ in `TF-A User Guide`_. The same instructions mostly apply to run the
434TF-A Tests on those 2 platforms. The difference is that the following images are
435not needed here:
436
437- Normal World bootloader. The TFTF replaces it in the boot flow;
438
439- Linux Kernel;
440
441- Device tree;
442
443- Filesystem.
444
445In other words, only the following software images are needed:
446
447- ``BL1`` firmware image;
448
449- ``FIP`` image containing the following images:
John Tsichritzis4586e0d2018-10-18 10:00:28 +0100450
451 - ``BL2``;
452 - ``SCP_BL2`` if required by the platform (e.g. Juno);
453 - ``BL31``;
454 - ``BL32`` (optional);
455 - ``tftf.bin`` (standing as the BL33 image).
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200456
Joel Huttonaf6a4db2019-02-08 14:33:52 +0000457Running the manual tests on FVP
458```````````````````````````````
459The manual tests rely on storing state in non-volatile memory (NVM) across
460reboot. On FVP the NVM is not persistent across reboots, so the following
461flag must be used to write the NVM to a file when the model exits.
462
463::
Joel Huttonaf6a4db2019-02-08 14:33:52 +0000464 -C bp.flashloader0.fnameWrite=[filename]
465
Joel Huttona29e2bd2019-03-22 16:40:33 +0000466To ensure the model exits on shutdown the following flag must be used:
467
468::
469 -C bp.ve_sysregs.exit_on_shutdown=1
470
Joel Huttonaf6a4db2019-02-08 14:33:52 +0000471After the model has been shutdown, this file must be fed back in to continue
472the test. Note this flash file includes the FIP image, so the original fip.bin
473does not need to be passed in. The following flag is used:
474
475::
476
477 -C bp.flashloader0.fname=[filename]
478
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200479Running the FWU tests
480`````````````````````
481
482As previously mentioned in section `Putting it all together`_, there are a
483couple of extra images involved when running the FWU tests. They need to be
484loaded at the right addresses, which depend on the platform.
485
486FVP
487'''
488
489In addition to the usual BL1 and FIP images, the following extra images must be
490loaded:
491
492- ``NS_BL1U`` image at address ``0x0BEB8000`` (i.e. NS_BL1U_BASE macro in TF-A)
493- ``FWU_FIP`` image at address ``0x08400000`` (i.e. NS_BL2U_BASE macro in TF-A)
494- ``Backup FIP`` image at address ``0x09000000`` (i.e. FIP_BKP_ADDRESS macro in
495 TF-A tests).
496
497An example script is provided in `scripts/run_fwu_fvp.sh`_.
498
499Juno
500''''
501
502The same set of extra images and load addresses apply for Juno as for FVP.
503
504The new images must be programmed in flash memory by adding some entries in the
505``SITE1/HBI0262x/images.txt`` configuration file on the Juno SD card (where
506``x`` depends on the revision of the Juno board). Refer to the `Juno Getting
507Started Guide`_, section 2.3 "Flash memory programming" for more
508information. Users should ensure these do not overlap with any other entries in
509the file.
510
511Addresses in this file are expressed as an offset from the base address of the
512flash (that is, ``0x08000000``).
513
514::
515
516 NOR10UPDATE: AUTO ; Image Update:NONE/AUTO/FORCE
517 NOR10ADDRESS: 0x00400000 ; Image Flash Address
518 NOR10FILE: \SOFTWARE\fwu_fip.bin ; Image File Name
519 NOR10LOAD: 00000000 ; Image Load Address
520 NOR10ENTRY: 00000000 ; Image Entry Point
521
522 NOR11UPDATE: AUTO ; Image Update:NONE/AUTO/FORCE
523 NOR11ADDRESS: 0x03EB8000 ; Image Flash Address
524 NOR11FILE: \SOFTWARE\ns_bl1u.bin ; Image File Name
525 NOR11LOAD: 00000000 ; Image Load Address
526 NOR11ENTRY: 00000000 ; Image Load Address
527
528 NOR12UPDATE: AUTO ; Image Update:NONE/AUTO/FORCE
529 NOR12ADDRESS: 0x01000000 ; Image Flash Address
530 NOR12FILE: \SOFTWARE\backup_fip.bin ; Image File Name
531 NOR12LOAD: 00000000 ; Image Load Address
532 NOR12ENTRY: 00000000 ; Image Entry Point
533
534--------------
535
536.. [#] Therefore, the Trusted Board Boot feature must be enabled in TF-A for
537 the FWU test images to work. Please refer the `TF-A User guide`_ for
538 further details.
539
540.. [#] Therefore, the Secure Partition Manager must be enabled in TF-A for
Antonio Nino Diazc498eeb2019-03-25 13:13:57 +0000541 any of the test Secure Partitions to work. Please refer to the `TF-A User
542 guide`_ for further details.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200543
544--------------
545
Madhukar Pappireddy6f203722020-01-07 00:28:49 -0600546*Copyright (c) 2018-2020, Arm Limited. All rights reserved.*
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200547
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200548.. _Linux master tree: https://github.com/torvalds/linux/tree/master/
549
Sandrine Bailleuxdd842752019-04-10 09:30:10 +0200550.. _TF-A: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200551.. _Trusted Firmware-A (TF-A): TF-A_
Sandrine Bailleuxdd842752019-04-10 09:30:10 +0200552.. _EL3 payload boot flow: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/user-guide.rst#el3-payloads-alternative-boot-flow
553.. _TF-A User Guide: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/user-guide.rst
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200554.. _Firmware Update: FWU_
Sandrine Bailleuxdd842752019-04-10 09:30:10 +0200555.. _FWU: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/firmware-update.rst
556.. _FWU state machine: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/firmware-update.rst#fwu-state-machine
557.. _Running the software on FVP: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/user-guide.rst#running-the-software-on-fvp
558.. _Running the software on Juno: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/user-guide.rst#running-the-software-on-juno
559.. _Building FIP images with support for Trusted Board Boot: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/user-guide.rst#building-fip-images-with-support-for-trusted-board-boot
560.. _Secure partition Manager: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/secure-partition-manager-design.rst
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +0200561
562.. _EL3 test payload README file: ../el3_payload/README
563.. _scripts/run_fwu_fvp.sh: ../scripts/run_fwu_fvp.sh
564
565.. _ARM Management Mode Interface: http://infocenter.arm.com/help/topic/com.arm.doc.den0060a/DEN0060A_ARM_MM_Interface_Specification.pdf
566.. _Juno Getting Started Guide: http://infocenter.arm.com/help/topic/com.arm.doc.dui0928e/DUI0928E_juno_arm_development_platform_gsg.pdf