Paul Beesley | 717bac4 | 2019-10-22 11:08:15 +0000 | [diff] [blame] | 1 | Trusted Firmware-A Tests Documentation |
| 2 | ====================================== |
| 3 | |
| 4 | .. toctree:: |
| 5 | :maxdepth: 1 |
| 6 | :hidden: |
| 7 | |
| 8 | Home<self> |
Jimmy Brisson | c595384 | 2020-04-02 15:18:59 -0500 | [diff] [blame] | 9 | about/index |
| 10 | getting_started/index |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 11 | process/index |
Paul Beesley | 717bac4 | 2019-10-22 11:08:15 +0000 | [diff] [blame] | 12 | design |
Jimmy Brisson | a48f507 | 2020-04-02 15:19:16 -0500 | [diff] [blame^] | 13 | implementing-tests |
| 14 | porting/index |
Paul Beesley | 717bac4 | 2019-10-22 11:08:15 +0000 | [diff] [blame] | 15 | change-log |
Paul Beesley | 9fec7b2 | 2019-11-11 10:46:54 +0000 | [diff] [blame] | 16 | license |
Paul Beesley | 717bac4 | 2019-10-22 11:08:15 +0000 | [diff] [blame] | 17 | |
Jimmy Brisson | c595384 | 2020-04-02 15:18:59 -0500 | [diff] [blame] | 18 | The Trusted Firmware-A Tests (TF-A-Tests) is a suite of baremetal tests to |
| 19 | exercise the `Trusted Firmware-A (TF-A)`_ features from the Normal World. It |
| 20 | enables strong TF-A functional testing without dependency on a Rich OS. It |
| 21 | mainly interacts with TF-A through its SMC interface. |
| 22 | |
| 23 | It provides a basis for TF-A developers to validate their own platform ports and |
| 24 | add their own test cases. |
| 25 | |
| 26 | The following TF-A features are currently tested to some extent (this list is |
| 27 | not 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 | |
| 38 | These tests are not a compliance test suite for the Arm interface standards used |
| 39 | in TF-A (such as PSCI). |
| 40 | |
| 41 | They do not cover 100% of the TF-A code. The fact that all tests pass does not |
| 42 | mean that TF-A is free of bugs. |
| 43 | |
| 44 | They are not reference code. They should not be considered as the official way |
| 45 | to test hardware/firmware features. Instead, they are provided as example code |
| 46 | to experiment with and improve on. |
| 47 | |
| 48 | Getting started |
| 49 | --------------- |
| 50 | |
| 51 | Get the TF-A Tests source code from `trustedfirmware.org`_. |
| 52 | |
| 53 | See the `User Guide`_ for instructions on how to install, build and use the TF-A |
| 54 | Tests. |
| 55 | |
| 56 | See the `Design Guide`_ for information on how the TF-A Tests internally work. |
| 57 | |
| 58 | See the `Porting Guide`_ for information about how to use this software on |
| 59 | another Armv8-A platform. |
| 60 | |
| 61 | See the `Contributing Guidelines`_ for information on how to contribute to this |
| 62 | project. |
| 63 | |
Paul Beesley | 717bac4 | 2019-10-22 11:08:15 +0000 | [diff] [blame] | 64 | -------------- |
| 65 | |
| 66 | *Copyright (c)2019, Arm Limited. All rights reserved.* |
Jimmy Brisson | c595384 | 2020-04-02 15:18:59 -0500 | [diff] [blame] | 67 | |
Jimmy Brisson | c595384 | 2020-04-02 15:18:59 -0500 | [diff] [blame] | 68 | .. _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 |