Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 1 | Build Options Summary |
| 2 | ===================== |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 3 | |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 4 | As far as possible, TF-A Tests dynamically detects the platform hardware |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 5 | components and available features. There are a few build options to select |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 6 | specific features where the dynamic detection falls short. |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 7 | |
| 8 | Unless mentioned otherwise, these options are expected to be specified at the |
| 9 | build command line and are not to be modified in any component makefiles. |
| 10 | |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 11 | .. note:: |
| 12 | The build system doesn't track dependencies for build options. Therefore, if |
| 13 | any of the build options are changed from a previous build, a clean build |
| 14 | must be performed. |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 15 | |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 16 | Common (Shared) Build Options |
| 17 | ----------------------------- |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 18 | |
| 19 | Most of the build options listed in this section apply to TFTF, the FWU test |
| 20 | images and Cactus, unless otherwise specified. These do not influence the EL3 |
| 21 | payload, whose simplistic build system is mostly independent. |
| 22 | |
| 23 | - ``ARCH``: Choose the target build architecture for TF-A Tests. It can take |
| 24 | either ``aarch64`` or ``aarch32`` as values. By default, it is defined to |
| 25 | ``aarch64``. Not all test images support this build option. |
| 26 | |
| 27 | - ``ARM_ARCH_MAJOR``: The major version of Arm Architecture to target when |
| 28 | compiling TF-A Tests. Its value must be numeric, and defaults to 8. |
| 29 | |
| 30 | - ``ARM_ARCH_MINOR``: The minor version of Arm Architecture to target when |
| 31 | compiling TF-A Tests. Its value must be a numeric, and defaults to 0. |
| 32 | |
| 33 | - ``DEBUG``: Chooses between a debug and a release build. A debug build |
| 34 | typically embeds assertions checking the validity of some assumptions and its |
| 35 | output is more verbose. The option can take either 0 (release) or 1 (debug) |
| 36 | as values. 0 is the default. |
| 37 | |
| 38 | - ``ENABLE_ASSERTIONS``: This option controls whether calls to ``assert()`` are |
| 39 | compiled out. |
| 40 | |
| 41 | - For debug builds, this option defaults to 1, and calls to ``assert()`` are |
| 42 | compiled in. |
| 43 | - For release builds, this option defaults to 0 and calls to ``assert()`` |
| 44 | are compiled out. |
| 45 | |
| 46 | This option can be set independently of ``DEBUG``. It can also be used to |
| 47 | hide any auxiliary code that is only required for the assertion and does not |
| 48 | fit in the assertion itself. |
| 49 | |
| 50 | - ``LOG_LEVEL``: Chooses the log level, which controls the amount of console log |
| 51 | output compiled into the build. This should be one of the following: |
| 52 | |
| 53 | :: |
| 54 | |
| 55 | 0 (LOG_LEVEL_NONE) |
| 56 | 10 (LOG_LEVEL_ERROR) |
| 57 | 20 (LOG_LEVEL_NOTICE) |
| 58 | 30 (LOG_LEVEL_WARNING) |
| 59 | 40 (LOG_LEVEL_INFO) |
| 60 | 50 (LOG_LEVEL_VERBOSE) |
| 61 | |
| 62 | All log output up to and including the selected log level is compiled into |
| 63 | the build. The default value is 40 in debug builds and 20 in release builds. |
| 64 | |
| 65 | - ``PLAT``: Choose a platform to build TF-A Tests for. The chosen platform name |
| 66 | must be a subdirectory of any depth under ``plat/``, and must contain a |
| 67 | platform makefile named ``platform.mk``. For example, to build TF-A Tests for |
| 68 | the Arm Juno board, select ``PLAT=juno``. |
| 69 | |
| 70 | - ``V``: Verbose build. If assigned anything other than 0, the build commands |
| 71 | are printed. Default is 0. |
| 72 | |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 73 | TFTF-specific Build Options |
| 74 | --------------------------- |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 75 | |
| 76 | - ``ENABLE_PAUTH``: Boolean option to enable ARMv8.3 Pointer Authentication |
| 77 | (``ARMv8.3-PAuth``) support in the Trusted Firmware-A Test Framework itself. |
| 78 | If enabled, it is needed to use a compiler that supports the option |
| 79 | ``-mbranch-protection`` (GCC 9 and later). It defaults to 0. |
| 80 | |
| 81 | - ``NEW_TEST_SESSION``: Choose whether a new test session should be started |
| 82 | every time or whether the framework should determine whether a previous |
| 83 | session was interrupted and resume it. It can take either 1 (always |
| 84 | start new session) or 0 (resume session as appropriate). 1 is the default. |
| 85 | |
| 86 | - ``TESTS``: Set of tests to run. Use the following command to list all |
| 87 | possible sets of tests: |
| 88 | |
| 89 | :: |
| 90 | |
| 91 | make help_tests |
| 92 | |
| 93 | If no set of tests is specified, the standard tests will be selected (see |
| 94 | ``tftf/tests/tests-standard.xml``). |
| 95 | |
| 96 | - ``USE_NVM``: Used to select the location of test results. It can take either 0 |
| 97 | (RAM) or 1 (non-volatile memory like flash) as test results storage. Default |
| 98 | value is 0, as writing to the flash significantly slows tests down. |
| 99 | |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 100 | FWU-specific Build Options |
| 101 | -------------------------- |
Jimmy Brisson | 0862f01 | 2020-04-02 15:19:12 -0500 | [diff] [blame] | 102 | |
| 103 | - ``FIRMWARE_UPDATE``: Whether the Firmware Update test images (i.e. |
| 104 | ``NS_BL1U`` and ``NS_BL2U``) should be built. The default value is 0. The |
| 105 | platform makefile is free to override this value if Firmware Update is |
| 106 | supported on this platform. |
Jimmy Brisson | ff08d3e | 2020-04-02 15:19:27 -0500 | [diff] [blame^] | 107 | |
| 108 | -------------- |
| 109 | |
| 110 | *Copyright (c) 2019, Arm Limited. All rights reserved.* |