blob: e8eee2f30aed1220463a145b49d52d7237156751 [file] [log] [blame]
Paul Beesley717bac42019-10-22 11:08:15 +00001Trusted Firmware-A Tests Documentation
2======================================
3
4.. toctree::
5 :maxdepth: 1
6 :hidden:
7
8 Home<self>
Jimmy Brissonc5953842020-04-02 15:18:59 -05009 about/index
10 getting_started/index
Jimmy Brisson0862f012020-04-02 15:19:12 -050011 process/index
Paul Beesley717bac42019-10-22 11:08:15 +000012 design
Jimmy Brissona48f5072020-04-02 15:19:16 -050013 implementing-tests
14 porting/index
Paul Beesley717bac42019-10-22 11:08:15 +000015 change-log
Paul Beesley9fec7b22019-11-11 10:46:54 +000016 license
Paul Beesley717bac42019-10-22 11:08:15 +000017
Jimmy Brissonc5953842020-04-02 15:18:59 -050018The Trusted Firmware-A Tests (TF-A-Tests) is a suite of baremetal tests to
19exercise the `Trusted Firmware-A (TF-A)`_ features from the Normal World. It
20enables strong TF-A functional testing without dependency on a Rich OS. It
21mainly interacts with TF-A through its SMC interface.
22
23It provides a basis for TF-A developers to validate their own platform ports and
24add their own test cases.
25
26The following TF-A features are currently tested to some extent (this list is
27not exhaustive):
28
29- `SMC Calling Convention`_
30- `Power State Coordination Interface (PSCI)`_
31- `Software Delegated Exception Interface (SDEI)`_
32- `Performance Measurement Framework (PMF)`_
33- Communication and interaction with the `Test Secure Payload (TSP)`_
34- `Firmware update`_ (or recovery mode)
35- `EL3 payload`_ boot flow
36- `Secure partition`_ support
37
38These tests are not a compliance test suite for the Arm interface standards used
39in TF-A (such as PSCI).
40
41They do not cover 100% of the TF-A code. The fact that all tests pass does not
42mean that TF-A is free of bugs.
43
44They are not reference code. They should not be considered as the official way
45to test hardware/firmware features. Instead, they are provided as example code
46to experiment with and improve on.
47
48Getting started
49---------------
50
51Get the TF-A Tests source code from `trustedfirmware.org`_.
52
53See the `User Guide`_ for instructions on how to install, build and use the TF-A
54Tests.
55
56See the `Design Guide`_ for information on how the TF-A Tests internally work.
57
58See the `Porting Guide`_ for information about how to use this software on
59another Armv8-A platform.
60
61See the `Contributing Guidelines`_ for information on how to contribute to this
62project.
63
Paul Beesley717bac42019-10-22 11:08:15 +000064--------------
65
66*Copyright (c)2019, Arm Limited. All rights reserved.*
Jimmy Brissonc5953842020-04-02 15:18:59 -050067
Jimmy Brissonc5953842020-04-02 15:18:59 -050068.. _Juno Arm Development Platform: https://developer.arm.com/products/system-design/development-boards/juno-development-board
69
70.. _Power State Coordination Interface (PSCI): PSCI_
71.. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
72.. _Software Delegated Exception Interface (SDEI): SDEI_
73.. _SDEI: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
74.. _SMC Calling Convention: http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
75
76.. _trustedfirmware.org: https://git.trustedfirmware.org/TF-A/tf-a-tests.git
77
78.. _Trusted Firmware-A (TF-A): TF-A_
79.. _TF-A: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about
80.. _Test Secure Payload (TSP): TSP_
81.. _TSP: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tree/bl32/tsp
82.. _Performance Measurement Framework (PMF): PMF_
83.. _PMF: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/firmware-design.rst#performance-measurement-framework
84.. _Firmware update: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/firmware-update.rst
85.. _EL3 payload: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/user-guide.rst#el3-payloads-alternative-boot-flow
86.. _Secure partition: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/docs/secure-partition-manager-design.rst