path: root/fwu
AgeCommit message (Collapse)Author
2020-08-18TFTF: Add ARMv8.5 BTI support in makefilesAlexei Fedorov
This patch adds 'BRANCH_PROTECTION' build option in TFTF makefiles which corresponds to that in TF-A. The option values are documented in 'build-options.rst' Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Change-Id: Iad5083aee339cec574acf5e7ab1fd8142877a122
2020-02-11Switch AARCH32/AARCH64 to __aarch64__Deepika Bhavnani
NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__. All common C compilers pre-define the same macros to signal which architecture the code is being compiled for: __arm__ for AArch32 (or earlier versions) and __aarch64__ for AArch64. There's no need for TF-A to define its own custom macros for this. In order to unify code with the export headers (which use __aarch64__ to avoid another dependency), let's deprecate the AARCH32 and AARCH64 macros and switch the code base over to the pre-defined standard macro. (Since it is somewhat unintuitive that __arm__ only means AArch32, let's standardize on only using __aarch64__.) NOTE: This change is based on below TFA commit https://github.com/ARM-software/arm-trusted-firmware/commit/402b3cf8766fe2cb4ae462f7ee7761d08a1ba56c Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: If2c3dbaeb01d4a9d8cfd95d906e5eaf4ae94417f
2020-01-08TFTF: Enable ARMv8.3-PAuth in FWU tests.Alexei Fedorov
This patch adds ARMv8.3-PAuth support for FWU tests. Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Change-Id: I36a0a2a3870db51cda0a09bd8fd8004e2d01d2bc
2019-11-29make: Fix parallel buildsBence Szépkúti
Parallel builds would fail while generating the dependency file of the first source file that included tests_list.h due to it missing. In-order builds only worked, because a rule that specified tests_list.c as a prerequisite happened to get executed first. This patch introduces tests_list.h as an order-only dependency of all rules that generate dependency files. This is necessary because we can't know which files actually depend on it until the dependency files have been generated. This forces the autogenerated files to be generated before any other files are compiled, but does not cause unrelated files to recompile if they are modified. Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com> Change-Id: I21f0b98052a884a853935ea35a2898ff90245a49
2019-08-01ld: Separate code and RO data sectionsAmbroise Vincent
This prevents the execution of the read-only data. This is done in a similar way in TF-A when the build flag SEPARATE_CODE_AND_RODATA is enabled. The build flag is probably not needed in TF-A Tests. Change-Id: I2bdc0237c00377beb2febeb47207770c85036192 Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
2019-04-12Makefile: Enable strict align arch minor versionJoel Hutton
Add -mstrict-align flag, and -march minor version. These are needed to prevent compilers generating unaligned accesses and enable architectural features respectively. Enable the SCTLR.A and SCTLR.SA alignment checks in all images. TF test has several cases of code which enable the alignment checks. Change-Id: I9a0413786caf94d0abf376aa1b4fb54fc7f2f355 Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>
2019-03-04libc: Update makefilesAmbroise Vincent
Added includes and sources of libc to the makefiles. Change-Id: I8e84db9634e0df7d51caa5c5858311672dd3a8d1 Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
2019-01-25Sanitise includes of include/drivers across codebaseAntonio Nino Diaz
Enforce full include path for includes. The reason for this change is that having a global namespace for includes isn't a good idea. It defeats one of the advantages of having folders and it introduces problems that are sometimes subtle (because you may not know the header you are actually including if there are two of them with the same name). Change-Id: I45e912b16c9fff81f50840dad7e7f90ed6637b2a Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2019-01-03Rename SMC first argumentSandrine Bailleux
'fid' (short for 'function ID') makes for a more explicit name. Change-Id: I41d90c39979162142b0377a68f4be90dc31de253 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2018-12-18FWU: Do not pull TFTF exception vectors codeSandrine Bailleux
NS_BL1U and NS_BL2U images have their own exception vectors code provided by lib/${ARCH}/exception_stubs.S. Change-Id: I5d2d760d9faf3d7bb4ba0bdefc5f20c193b1569d Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2018-11-27Move BL1 SMC FIDs macros out of platform layerSandrine Bailleux
BL1 SMC function IDs are not platform-specific so move them to a new generic header file, called bl1.h. Change-Id: I621483f7737f8101e9f370343e1a45a731c31c3b Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2018-10-25Disable hardware alignment checkingSandrine Bailleux
At the moment, alignment fault checking is always enabled in TF-A Tests (by setting the HSCTLR/SCTLR.A bit). Thus, for every instruction that loads or stores one or more registers, the hardware checks that the address being accessed is properly aligned to the size of the data element(s) being accessed. If this check fails it causes an alignment fault, which is taken as a data abort exception. However, the compiler is currently unaware that it must not emit load and store instructions resulting in unaligned accesses because we do not compile the source code with -mstrict-align (AArch64) / -mno-unaligned-access (AArch32). Because of this, we might get some unexpected alignment faults. We could request the compiler to align all data accesses but whether this gives us any performance benefit is dependent on the microarchitecture. Thus, it is simpler to just disable hardware alignment checking and let the compiler make the call. Change-Id: I6ef4afb09e0f87c8462a968da1ca2192ee075b40 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2018-10-15Move platform_helpers.S to each platform's folderAntonio Nino Diaz
In practice, all the functions in this file are platform-specific. It is better to force all platforms to implement than having some sort of weak function placeholder. Porting guide updated. Change-Id: I5beeeb10bec6fe5178b24503d6da8ca66074a8c6 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-10-10Trusted Firmware-A Tests, version 2.0v2.0Sandrine Bailleux
This is the first public version of the tests for the Trusted Firmware-A project. Please see the documentation provided in the source tree for more details. Change-Id: I6f3452046a1351ac94a71b3525c30a4ca8db7867 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Co-authored-by: amobal01 <amol.balasokamble@arm.com> Co-authored-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com> Co-authored-by: Asha R <asha.r@arm.com> Co-authored-by: Chandni Cherukuri <chandni.cherukuri@arm.com> Co-authored-by: David Cunado <david.cunado@arm.com> Co-authored-by: Dimitris Papastamos <dimitris.papastamos@arm.com> Co-authored-by: Douglas Raillard <douglas.raillard@arm.com> Co-authored-by: dp-arm <dimitris.papastamos@arm.com> Co-authored-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com> Co-authored-by: Jonathan Wright <jonathan.wright@arm.com> Co-authored-by: Kévin Petit <kevin.petit@arm.com> Co-authored-by: Roberto Vargas <roberto.vargas@arm.com> Co-authored-by: Sathees Balya <sathees.balya@arm.com> Co-authored-by: Shawon Roy <Shawon.Roy@arm.com> Co-authored-by: Soby Mathew <soby.mathew@arm.com> Co-authored-by: Thomas Abraham <thomas.abraham@arm.com> Co-authored-by: Vikram Kanigiri <vikram.kanigiri@arm.com> Co-authored-by: Yatharth Kochar <yatharth.kochar@arm.com>