Coverity: remove unnecessary header file includesThis patch removes unnecessary header file includesdiscovered by Coverity HFA option.Change-Id: I2827c37c1c24866c87db0e206e681900545925d4Signed-
Coverity: remove unnecessary header file includesThis patch removes unnecessary header file includesdiscovered by Coverity HFA option.Change-Id: I2827c37c1c24866c87db0e206e681900545925d4Signed-off-by: Zelalem <zelalem.aweke@arm.com>
show more ...
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>
Remove build option LOAD_IMAGE_V2The code of LOAD_IMAGE_V2=0 has been removed.Change-Id: Iea03e5bebb90c66889bdb23f85c07d0c9717fffeCo-authored-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>Sig
Remove build option LOAD_IMAGE_V2The code of LOAD_IMAGE_V2=0 has been removed.Change-Id: Iea03e5bebb90c66889bdb23f85c07d0c9717fffeCo-authored-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Fix MISRA rule 8.4 Part 4Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is definedFixed for: make DEBUG=1 PLAT=fvp SPD=tspd TRUSTE
Fix MISRA rule 8.4 Part 4Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is definedFixed for: make DEBUG=1 PLAT=fvp SPD=tspd TRUSTED_BOARD_BOOT=1 \ GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \ ROT_KEY=arm_rotprivk_rsa.pem MBEDTLS_DIR=mbedtls allChange-Id: Ie4cd6011b3e4fdcdd94ccb97a7e941f3b5b7aeb8Signed-off-by: Roberto Vargas <roberto.vargas@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>
Enable TRUSTED_BOARD_BOOT support for LOAD_IMAGE_V2=1This patch enables TRUSTED_BOARD_BOOT (Authentication and FWU)support, for AArch64, when LOAD_IMAGE_V2 is enabled.This patch also enables LOA
Enable TRUSTED_BOARD_BOOT support for LOAD_IMAGE_V2=1This patch enables TRUSTED_BOARD_BOOT (Authentication and FWU)support, for AArch64, when LOAD_IMAGE_V2 is enabled.This patch also enables LOAD_IMAGE_V2 for ARM platforms.Change-Id: I294a2eebce7a30b6784c80c9d4ac7752808ee3adSigned-off-by: Yatharth Kochar <yatharth.kochar@arm.com>
Fix the inconsistencies in bl1_tbbr_image_descs[]This patch fixes inconsistencies in bl1_tbbr_image_descs[]and miscellaneous fixes in Firmware Update code.Following are the changes:* As part of
Fix the inconsistencies in bl1_tbbr_image_descs[]This patch fixes inconsistencies in bl1_tbbr_image_descs[]and miscellaneous fixes in Firmware Update code.Following are the changes:* As part of the original FWU changes, a `copied_size` field was added to `image_info_t`. This was a subtle binary compatibility break because it changed the size of the `bl31_params_t` struct, which could cause problems if somebody used different versions of BL2 or BL31, one with the old `image_info_t` and one with the new version. This patch put the `copied_size` within the `image_desc_t`.* EXECUTABLE flag is now stored in `ep_info.h.attr` in place of `image_info.h.attr`, associating it to an entrypoint.* The `image_info.image_base` is only relevant for secure images that are copied from non-secure memory into secure memory. This patch removes initializing `image_base` for non secure images in the bl1_tbbr_image_descs[].* A new macro `SET_STATIC_PARAM_HEAD` is added for populating bl1_tbbr_image_descs[].ep_info/image_info.h members statically. The version, image_type and image attributes are now populated using this new macro.* Added PLAT_ARM_NVM_BASE and PLAT_ARM_NVM_SIZE to avoid direct usage of V2M_FLASH0_XXX in plat/arm/common/arm_bl1_fwu.c.* Refactoring of code/macros related to SECURE and EXECUTABLE flags.NOTE: PLATFORM PORTS THAT RELY ON THE SIZE OF `image_info_t` OR USE the "EXECUTABLE" BIT WITHIN `image_info_t.h.attr` OR USE THEIR OWN `image_desc_t` ARRAY IN BL1, MAY BE BROKEN BY THIS CHANGE. THIS IS CONSIDERED UNLIKELY.Change-Id: Id4e5989af7bf0ed263d19d3751939da1169b561d
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