feat(bl2): support RESET_TO_BL2 and ENABLE_RMEWhen RSE is used as the root of trust along with CPU that supports RMEthere is a need to enable both RESET_TO_BL2 and ENABLE_RME.In current bl2_main
feat(bl2): support RESET_TO_BL2 and ENABLE_RMEWhen RSE is used as the root of trust along with CPU that supports RMEthere is a need to enable both RESET_TO_BL2 and ENABLE_RME.In current bl2_main there are two different code paths for RESET_BL2,one handles BL2 running in EL1 and other for BL2 running in EL3.When RME is enabled, BL2 always runs at EL3 but the current flow callsbl2_early_platform_setup2, bl2_plat_arch_setup instead ofbl2_el3_early_platform_setup, bl2_el3_plat_arch_setup. Adding RME,TRANSFER_LIST, ROMLIB support in bl2_el3_* helpers makesarm_bl2_el3_setup.c almost identical to arm_bl2_setup.c.This patch removes bl2_el3_plat helpers and related files. Now differentcombinations of RESET_TO_BL2, ENABLE_RME are handled in common bl2_setuproutines in arm_bl2_setup.c. This helps to have common place to supportnew features and build flags for BL2 irrespective of which EL the BL2runs.BREAKING-CHANGE: This patch also changes all existing platform files andfunctions that use format bl2_el3_* to bl2_plat helpers. If any platformor out-of-tree platforms that need to support running BL2 in EL1 or EL3must now handle it in bl2_early_platform_setup2 and bl2_plat_arch_setup.Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>Change-Id: I8d332dbe2de1db3b69319496c8d04626cdcf4140
show more ...
feat(auth): introducing auth.mkIntroducing authentication specific makefile auth.mk to include commonauth source files.Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>Change-Id: I
feat(auth): introducing auth.mkIntroducing authentication specific makefile auth.mk to include commonauth source files.Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>Change-Id: Ifb07c48861fe415d82cb7390c3a5f6e60ba699d9
fix(build): ensure `$(ROT_KEY)` depends on correct directory rulesIn order for directories to be automatically created when used as adependency, they must end with a forward slash (`/`). This is b
fix(build): ensure `$(ROT_KEY)` depends on correct directory rulesIn order for directories to be automatically created when used as adependency, they must end with a forward slash (`/`). This is because wehave a pattern rule (`%/`) to create a directory anywhere where adirectory is required as a direct dependency.Change-Id: Ib632d59da0745f6cadb0a839a62360aeca25c178Signed-off-by: Chris Kay <chris.kay@arm.com>
build: consolidate directory creation rulesThis commit streamlines directory creation by introducing a singlepattern rule to automatically make directories for which there is adependency.We cur
build: consolidate directory creation rulesThis commit streamlines directory creation by introducing a singlepattern rule to automatically make directories for which there is adependency.We currently use several macros to generate rules to create directoriesupon dependence, which is a significant amount of code and a lot ofredundancy. The rule introduced by this change represents a catch-all:any rule dependency on a path ending in a forward slash is automaticallycreated.Now, rules can rely on an unordered dependency (`|`) on `$$(@D)/` which,when secondary expansion is enabled, expands to the directory of thetarget being built, e.g.: build/main.o: main.c | $$(@D)/ # automatically creates `build/`Change-Id: I7e554efa2ac850e779bb302fd9c7fbb239886c9fSigned-off-by: Chris Kay <chris.kay@arm.com>
build: unify verbosity handlingThis change introduces a few helper variables for dealing with verboseand silent build modes: `silent`, `verbose`, `q` and `s`.The `silent` and `verbose` variables
build: unify verbosity handlingThis change introduces a few helper variables for dealing with verboseand silent build modes: `silent`, `verbose`, `q` and `s`.The `silent` and `verbose` variables are boolean values determiningwhether the build system has been configured to run silently orverbosely respectively (i.e. with `--silent` or `V=1`).These two modes cannot be used together - if `silent` is truthy then`verbose` is always falsy. As such: make --silent V=1... results in a silent build.In addition to these boolean variables, we also introduce two newvariables - `s` and `q` - for use in rule recipes to conditionallysuppress the output of commands.When building silently, `s` expands to a value which disables thecommand that follows, and `q` expands to a value which supppressesechoing of the command: $(s)echo 'This command is neither echoed nor executed' $(q)echo 'This command is executed but not echoed'When building verbosely, `s` expands to a value which disables thecommand that follows, and `q` expands to nothing: $(s)echo 'This command is neither echoed nor executed' $(q)echo 'This command is executed and echoed'In all other cases, both `s` and `q` expand to a value which suppressesechoing of the command that follows: $(s)echo 'This command is executed but not echoed' $(q)echo 'This command is executed but not echoed'The `s` variable is predominantly useful for `echo` commands, where youalways want to suppress echoing of the command itself, whilst `q` ismore useful for all other commands.Change-Id: I8d8ff6ed714d3cb401946c52955887ed7dca602bSigned-off-by: Chris Kay <chris.kay@arm.com>
build(bl32): added check for AARCH32_SPIf AACRH32_SP is not specified, it causes the DEFAULT_LINKER_SCRIPTvariable to be empty, and then the linker takes the variable followingit as if it was the
build(bl32): added check for AARCH32_SPIf AACRH32_SP is not specified, it causes the DEFAULT_LINKER_SCRIPTvariable to be empty, and then the linker takes the variable followingit as if it was the linker script, which is not one. This patchaddresses that issue by requiring the AARCH32_SP variable to be setbefore continuing.Change-Id: I21db7d5bd86b98faaa1a1cd3f985daa592556a2dSigned-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
fix: make TF-A use provided OpenSSL binaryCurrently Tf-A uses whatever openssl binary is on the system to signimages. However if OPENSSL_DIR is specified in the build flags this canlead to linkin
fix: make TF-A use provided OpenSSL binaryCurrently Tf-A uses whatever openssl binary is on the system to signimages. However if OPENSSL_DIR is specified in the build flags this canlead to linking issues as the system binary can end up being linkedagainst shared libraries provided in OPENSSL_DIR/lib if both binaries(the system's and the on in OPENSSL_DIR/bin) are the same version.This patch ensures that the binary used is always the one given byOPENSSL_DIR to avoid those link issues.Signed-off-by: Salome Thirot <salome.thirot@arm.com>Change-Id: Ib534e06ebc8482e4391e376d3791a87968de4a99
refactor(plat/imx/imx): make imx io-storage logic for TBBR/FIP commonThis commit makes imx image io-storage logic common for allimx platform.Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debia
refactor(plat/imx/imx): make imx io-storage logic for TBBR/FIP commonThis commit makes imx image io-storage logic common for allimx platform.Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org>Change-Id: I15045ac8f9dfa8cb714e32f9e7475d5eae4e86e4
Cleanup the code for TBBR CoT descriptorsCoT used for BL1 and BL2 are moved to tbbr_cot_bl1.cand tbbr_cot_bl2.c respectively.Common CoT used across BL1 and BL2 are moved totbbr_cot_common.c.Si
Cleanup the code for TBBR CoT descriptorsCoT used for BL1 and BL2 are moved to tbbr_cot_bl1.cand tbbr_cot_bl2.c respectively.Common CoT used across BL1 and BL2 are moved totbbr_cot_common.c.Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>Change-Id: I2252ac8a6960b3431bcaafdb3ea4fb2d01b79cf5
imx: Use generic console_t data structureSince now the generic console_t structure holds the UART base address aswell, let's use that generic location and drop the UART driver specificdata struct
imx: Use generic console_t data structureSince now the generic console_t structure holds the UART base address aswell, let's use that generic location and drop the UART driver specificdata structure at all.Change-Id: I058f793e4024fa7291e432f5be374a77faf16f36Signed-off-by: Andre Przywara <andre.przywara@arm.com>
plat: imx7: refactor code for reuseFor the iMX7 SOCs, part of the code for platformsetup implementation can be reused and madecommon for all these SoCs. This patch extractsthe common part for re
plat: imx7: refactor code for reuseFor the iMX7 SOCs, part of the code for platformsetup implementation can be reused and madecommon for all these SoCs. This patch extractsthe common part for reuse.Signed-off-by: Jun Nie <jun.nie@linaro.org>Change-Id: I42fd4167e6903416df96a0159a046abf3896e878