feat(build): put fiptool in the build directoryFor some reason, tools are not built in the build directory, but ratherin the source directory, regardless of what BUILD_BASE might say. Thisis espe
feat(build): put fiptool in the build directoryFor some reason, tools are not built in the build directory, but ratherin the source directory, regardless of what BUILD_BASE might say. Thisis especially annoying when trying to have a few builds going at thesame time (like in a CI). For example, run A may check if a file Xexists. Seeing that it does not, it will start building the file. At thesame time, run B may also check if file X exists but before A haswritten it, starting a build again. Then it is possible for A to use thefile it believes to have built right at the moment B begins writing toit (and truncating it beforehand). This results in gcc failing to read afail and a failed build. The more parallel runs there are, the morelikely this is to happen, and this is virtually guaranteed to happenwith just a handful onwards.So move fiptool and all of its build artefacts to the build directory.Since there are platform differences between the various fiptoolincarnations, this goes in the plat build rather than a more top-levellocation.This patch adds the build macro MAKE_TOOL to do this generically for anykind of tool since the other tools suffer from the same shortfall. Thismacro takes care to use unique names for every type of argument thatbuilding a tool might need. The fiptool makefile and platform add-onsare updated accordingly.This should have never been allowed in the first place, but downstreamscripts almost certainly depend on this behaviour now. So add a symlinkin the place of the old fiptool so these continue working. With anyluck, this will be removed in the future.Change-Id: I3d4d87dab0f53deab5b43fbc6652146f0e4e7e81Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
feat(stm32mp2): add ddr-fw parameter for fiptoolWhen generating fiptool for STM32MP2, a new parameter is added toput DDR firmware inside the FIP.To avoid duplicating fiptool platform files, move
feat(stm32mp2): add ddr-fw parameter for fiptoolWhen generating fiptool for STM32MP2, a new parameter is added toput DDR firmware inside the FIP.To avoid duplicating fiptool platform files, movetools/fiptool/plat_fiptool/st/stm32mp1 files in their parent directoryand move plat_def_fip_uuid.h in in plat/st/common/include.Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>Signed-off-by: Yann Gautier <yann.gautier@st.com>Change-Id: I1dd796847869e2bfb6ee8c2bcef25c595fa5197a
build: use new toolchain variables for toolsThis change migrates the values of `CC`, `CPP`, `AS` and other toolchainvariables to the new `$(toolchain)-$(tool)` variables, which wereintroduced by
build: use new toolchain variables for toolsThis change migrates the values of `CC`, `CPP`, `AS` and other toolchainvariables to the new `$(toolchain)-$(tool)` variables, which wereintroduced by the toolchain refactor patch. These variables should beequivalent to the values that they're replacing.Change-Id: I644fe4ce82ef1894bed129ddb4b6ab94fb04985dSigned-off-by: Chris Kay <chris.kay@arm.com>
fix(stm32mp1): add void entry in plat_def_toc_entriesThe fill_image_descs() function in fiptool adds images until.cmdline_name is NULL.Add a void entry to STM32MP1 plat_def_toc_entries[] to prope
fix(stm32mp1): add void entry in plat_def_toc_entriesThe fill_image_descs() function in fiptool adds images until.cmdline_name is NULL.Add a void entry to STM32MP1 plat_def_toc_entries[] to properlyescape the loop.Also reported by Valentyn Korniienko (@ValentiWorkLearning) on githubwith pull requests [1] and [2].[1] https://github.com/ARM-software/arm-trusted-firmware/pull/1997[2] https://github.com/STMicroelectronics/arm-trusted-firmware/pull/8Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>Change-Id: I94fd36ca677d46ce6df95c7674c6b6bd365b28c7
refactor(fiptool): move plat_fiptool.mk to toolsMove all plat_fiptool.mks into tools, change the logic to recursivelycheck for tools/fiptool/plat_fiptool/<plat_path>/plat_fiptool.mkI.e. for a pl
refactor(fiptool): move plat_fiptool.mk to toolsMove all plat_fiptool.mks into tools, change the logic to recursivelycheck for tools/fiptool/plat_fiptool/<plat_path>/plat_fiptool.mkI.e. for a platform that has the path "plat/arm/board/tc/platform.mk",the makefile will now load the first existing file from: - tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk - tools/fiptool/plat_fiptool/arm/board/plat_fiptool.mk - tools/fiptool/plat_fiptool/arm/plat_fiptool.mkThis enables fiptool to support multiple platforms, or a specific one.Remove file-copying previously being used to handle old default path.Remove custom file cleaning in plat_fiptool.mk.Change-Id: I95245bcf7143b329481d4394ab64f29bfe9de5abSigned-off-by: Raef Coles <raef.coles@arm.com>