From 3b211ff5712c104cc92fd2270aac99a02d57961e Mon Sep 17 00:00:00 2001 From: Antonio Nino Diaz Date: Tue, 11 Apr 2017 14:04:56 +0100 Subject: ARM platforms: Add option to use xlat tables lib v1 ARM platforms have migrated to the translation tables library v2. However, for testing purposes, it can be useful to temporarily switch back to the old version. This patch introduces the option `ARM_XLAT_TABLES_LIB_V1`, that switches to v1 of the library when is set to 1. By default, it is 0, so that ARM platforms use the new version unless specifically stated. Updated User Guide. Change-Id: I53d3c8dd97706f6af9c6fca0364a88ef341efd31 Signed-off-by: Antonio Nino Diaz --- docs/user-guide.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs/user-guide.md') diff --git a/docs/user-guide.md b/docs/user-guide.md index a1df9652..813628e7 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -568,6 +568,10 @@ performed. - `tdram` : Trusted DRAM (if available) - `dram` : Secure region in DRAM (configured by the TrustZone controller) +* `ARM_XLAT_TABLES_LIB_V1`: boolean option to compile the Trusted Firmware + with version 1 of the translation tables library instead of version 2. It is + set to 0 by default, which selects version 2. + For a better understanding of these options, the ARM development platform memory map is explained in the [Firmware Design]. -- cgit v1.2.3 From bcc3c49c90a1e79befa72b8871d4d4c6031c15b7 Mon Sep 17 00:00:00 2001 From: Soby Mathew Date: Mon, 10 Apr 2017 22:35:42 +0100 Subject: PSCI: Build option to enable D-Caches early in warmboot This patch introduces a build option to enable D-cache early on the CPU after warm boot. This is applicable for platforms which do not require interconnect programming to enable cache coherency (eg: single cluster platforms). If this option is enabled, then warm boot path enables D-caches immediately after enabling MMU. Fixes ARM-Software/tf-issues#456 Change-Id: I44c8787d116d7217837ced3bcf0b1d3441c8d80e Signed-off-by: Soby Mathew --- docs/user-guide.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'docs/user-guide.md') diff --git a/docs/user-guide.md b/docs/user-guide.md index a1df9652..af7741e6 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -349,7 +349,8 @@ performed. initiate the operations, and the rest is managed in hardware, minimizing active software management. In such systems, this boolean option enables ARM Trusted Firmware to carry out build and run-time optimizations during boot - and power management operations. This option defaults to 0. + and power management operations. This option defaults to 0 and if it is + enabled, then it implies `WARMBOOT_ENABLE_DCACHE_EARLY` is also enabled. * `LOAD_IMAGE_V2`: Boolean option to enable support for new version (v2) of image loading, which provides more flexibility and scalability around what @@ -508,6 +509,12 @@ performed. to a string formed by concatenating the version number, build type and build string. +* `WARMBOOT_ENABLE_DCACHE_EARLY` : Boolean option to enable D-cache early on + the CPU after warm boot. This is applicable for platforms which do not + require interconnect programming to enable cache coherency (eg: single + cluster platforms). If this option is enabled, then warm boot path + enables D-caches immediately after enabling MMU. This option defaults to 0. + #### ARM development platform specific build options * `ARM_BL31_IN_DRAM`: Boolean option to select loading of BL31 in TZC secured -- cgit v1.2.3 From cc8b56322bb04569a5adf944774b16862782c95b Mon Sep 17 00:00:00 2001 From: Antonio Nino Diaz Date: Tue, 18 Apr 2017 15:16:05 +0100 Subject: Add `ENABLE_ASSERTIONS` build option Add the new build option `ENABLE_ASSERTIONS` that controls whether or not assert functions are compiled out. It defaults to 1 for debug builds and to 0 for release builds. Additionally, a following patch will be done to allow this build option to hide auxiliary code used for the checks done in an `assert()`. This code is is currently under the DEBUG build flag. Assert messages are now only printed if LOG_LEVEL >= LOG_LEVEL_INFO, which is the default for debug builds. This patch also updates the User Guide. Change-Id: I1401530b56bab25561bb0f274529f1d12c5263bc Signed-off-by: Antonio Nino Diaz --- docs/user-guide.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'docs/user-guide.md') diff --git a/docs/user-guide.md b/docs/user-guide.md index a1df9652..af083605 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -286,6 +286,14 @@ performed. payload. Please refer to the "Booting an EL3 payload" section for more details. +* `ENABLE_ASSERTIONS`: This option controls whether or not calls to `assert()` + are compiled out. For debug builds, this option defaults to 1, and calls to + `assert()` are left in place. For release builds, this option defaults to 0 + and calls to `assert()` function are compiled out. This option can be set + independently of `DEBUG`. It can also be used to hide any auxiliary code + that is only required for the assertion and does not fit in the assertion + itself. + * `ENABLE_PMF`: Boolean option to enable support for optional Performance Measurement Framework(PMF). Default is 0. -- cgit v1.2.3 From 044bb2faabd7981af4ef419e1037fec28e5b3f8b Mon Sep 17 00:00:00 2001 From: Antonio Nino Diaz Date: Thu, 20 Apr 2017 09:58:28 +0100 Subject: Remove build option `ASM_ASSERTION` The build option `ENABLE_ASSERTIONS` should be used instead. That way both C and ASM assertions can be enabled or disabled together. All occurrences of `ASM_ASSERTION` in common code and ARM platforms have been replaced by `ENABLE_ASSERTIONS`. ASM_ASSERTION has been removed from the user guide. Change-Id: I51f1991f11b9b7ff83e787c9a3270c274748ec6f Signed-off-by: Antonio Nino Diaz --- docs/user-guide.md | 5 ----- 1 file changed, 5 deletions(-) (limited to 'docs/user-guide.md') diff --git a/docs/user-guide.md b/docs/user-guide.md index af083605..a69c1223 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -203,11 +203,6 @@ performed. in MPIDR is set and access the bit-fields in MPIDR accordingly. Default value of this flag is 0. -* `ASM_ASSERTION`: This flag determines whether the assertion checks within - assembly source files are enabled or not. This option defaults to the - value of `DEBUG` - that is, by default this is only enabled for a debug - build of the firmware. - * `BL2`: This is an optional build option which specifies the path to BL2 image for the `fip` target. In this case, the BL2 in the ARM Trusted Firmware will not be built. -- cgit v1.2.3