Sanitise includes across codebaseEnforce full include path for includes. Deprecate old paths.The following folders inside include/lib have been left unchanged:- include/lib/cpus/${ARCH}- inclu
Sanitise includes across codebaseEnforce full include path for includes. Deprecate old paths.The following folders inside include/lib have been left unchanged:- include/lib/cpus/${ARCH}- include/lib/el3_runtime/${ARCH}The reason for this change is that having a global namespace forincludes isn't a good idea. It defeats one of the advantages of havingfolders and it introduces problems that are sometimes subtle (becauseyou may not know the header you are actually including if there are twoof them).For example, this patch had to be created because two headers werecalled the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platformto avoid collision."). More recently, this patch has had similarproblems: 46f9b2c3a282 ("drivers: add tzc380 support").This problem was introduced in commit 4ecca33988b9 ("Move include andsource files to logical locations"). At that time, there weren't toomany headers so it wasn't a real issue. However, time has shown thatthis creates problems.Platforms that want to preserve the way they include headers may add theremoved paths to PLAT_INCLUDES, but this is discouraged.Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8fSigned-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
Standardise header guards across codebaseAll identifiers, regardless of use, that start with two underscores arereserved. This means they can't be used in header guards.The style that this proje
Standardise header guards across codebaseAll identifiers, regardless of use, that start with two underscores arereserved. This means they can't be used in header guards.The style that this project is now to use the full name of the file incapital letters followed by 'H'. For example, for a file called"uart_example.h", the header guard is UART_EXAMPLE_H.The exceptions are files that are imported from other projects:- CryptoCell driver- dt-bindings folders- zlib headersChange-Id: I50561bf6c88b491ec440d0c8385c74650f3c106eSigned-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Use SPDX license identifiersTo make software license auditing simpler, use SPDX[0] licenseidentifiers instead of duplicating the license text in every file.NOTE: Files that have been imported by
Use SPDX license identifiersTo make software license auditing simpler, use SPDX[0] licenseidentifiers instead of duplicating the license text in every file.NOTE: Files that have been imported by FreeBSD have not been modified.[0]: https://spdx.org/Change-Id: I80a00e1f641b8cc075ca5a95b10607ed9ed8761aSigned-off-by: dp-arm <dimitris.papastamos@arm.com>
FWU: Add Generic Firmware Update framework support in BL1Firmware update(a.k.a FWU) feature is part of the TBB architecture.BL1 is responsible for carrying out the FWU process if platformspecific
FWU: Add Generic Firmware Update framework support in BL1Firmware update(a.k.a FWU) feature is part of the TBB architecture.BL1 is responsible for carrying out the FWU process if platformspecific code detects that it is needed.This patch adds support for FWU feature support in BL1 which isincluded by enabling `TRUSTED_BOARD_BOOT` compile time flag.This patch adds bl1_fwu.c which contains all the core operationsof FWU, which are; SMC handler, image copy, authentication, executionand resumption. It also adds bl1.h introducing #defines for allBL1 SMCs.Following platform porting functions are introduced:int bl1_plat_mem_check(uintptr_t mem_base, unsigned int mem_size,unsigned int flags); This function can be used to add platform specific memory checks for the provided base/size for the given security state. The weak definition will invoke `assert()` and return -ENOMEM.__dead2 void bl1_plat_fwu_done(void *cookie, void *reserved); This function can be used to initiate platform specific procedure to mark completion of the FWU process. The weak definition waits forever calling `wfi()`.plat_bl1_common.c contains weak definitions for above functions.FWU process starts when platform detects it and return the image_idother than BL2_IMAGE_ID by using `bl1_plat_get_next_image_id()` in`bl1_main()`.NOTE: User MUST provide platform specific real definition forbl1_plat_mem_check() in order to use it for Firmware update.Change-Id: Ice189a0885d9722d9e1dd03f76cac1aceb0e25ed