| #
9eb4d4dd |
| 11-Jan-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #796 from masahir0y/build
Improve dependency file generation
|
| #
1d274ab0 |
| 22-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: add -MP option to add dummy rules to *.d files
This adds a phony target for each dependency other than the main file, causing each to depend on nothing.
Without this, the incremental build w
Build: add -MP option to add dummy rules to *.d files
This adds a phony target for each dependency other than the main file, causing each to depend on nothing.
Without this, the incremental build will fail when a header file is removed.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
710ea1d0 |
| 22-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: generate .d file at the same time as object is created
Currently, .d files are generated before any objects are built. So, IS_ANYTHING_TO_BUILD flag is needed to avoid such processing for non
Build: generate .d file at the same time as object is created
Currently, .d files are generated before any objects are built. So, IS_ANYTHING_TO_BUILD flag is needed to avoid such processing for non-build targets.
There is a cleverer way; just create a .d file simultaneously when the corresponding object is created. No need to have separate rules for .d files.
This commit will also fix a bug; -D$(IMAGE) is defined for $(OBJ), but not for $(PREREQUISITES). So, .d files are generated with different macro sets from those for .o files, then wrong .d files are generated.
For example, in lib/cpus/aarch64/cpu_helpers.S
#if IMAGE_BL31 #include <cpu_data.h> #endif
<cpu_data.h> is parsed for the object when built for BL31, but the .d file does not pick up that dependency.
With this commit, the compiler will generate .o and .d at the same time, guaranteeing they are generated under the same circumstances.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
59de5096 |
| 22-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: use CPP just for pre-processing
Using AS for pre-processing looks a bit weird, and some assembly specific options are given for nothing. Rather, use CPP.
Signed-off-by: Masahiro Yamada <yam
Build: use CPP just for pre-processing
Using AS for pre-processing looks a bit weird, and some assembly specific options are given for nothing. Rather, use CPP.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
f2e1d57e |
| 22-Dec-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
Build: exclude -c flag from TF_CFLAGS
The -c flag should not be included in the global variable TF_CFLAGS; it should be specified in the build rule only when its target is a *.o file.
Signed-off-by
Build: exclude -c flag from TF_CFLAGS
The -c flag should not be included in the global variable TF_CFLAGS; it should be specified in the build rule only when its target is a *.o file.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
show more ...
|
| #
41b568f5 |
| 09-Aug-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #661 from dp-arm/master
Replace fip_create with fiptool
|
| #
819281ee |
| 25-May-2016 |
dp-arm <dimitris.papastamos@arm.com> |
Replace fip_create with fiptool
fiptool provides a more consistent and intuitive interface compared to the fip_create program. It serves as a better base to build on more features in the future.
f
Replace fip_create with fiptool
fiptool provides a more consistent and intuitive interface compared to the fip_create program. It serves as a better base to build on more features in the future.
fiptool supports various subcommands. Below are the currently supported subcommands:
1) info - List the images contained in a FIP file. 2) create - Create a new FIP file with the given images. 3) update - Update an existing FIP with the given images. 4) unpack - Extract a selected set or all the images from a FIP file. 5) remove - Remove images from a FIP file. This is a new command that was not present in fip_create.
To create a new FIP file, replace "fip_create" with "fiptool create".
To update a FIP file, replace "fip_create" with "fiptool update".
To dump the contents of a FIP file, replace "fip_create --dump" with "fiptool info".
A compatibility script that emulates the basic functionality of fip_create is provided. Existing scripts might or might not work with the compatibility script. Users are strongly encouraged to migrate to fiptool.
Fixes ARM-Software/tf-issues#87 Fixes ARM-Software/tf-issues#108 Fixes ARM-Software/tf-issues#361
Change-Id: I7ee4da7ac60179cc83cf46af890fd8bc61a53330
show more ...
|
| #
6f511c47 |
| 04-Jul-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #651 from Xilinx/zynqmp_uart
zynqmp: Make UART selectable
|
| #
8eadeb4a |
| 09-Jun-2016 |
Soren Brinkmann <soren.brinkmann@xilinx.com> |
build_macros: Add 'add_define_val' macro
Add a convenience macro to add a build definition with a value.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
|
| #
81b491ff |
| 18-Apr-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #595 from sandrine-bailleux-arm/sb/unoptimised-build
Add support for unoptimised (-O0) build
|
| #
403973c9 |
| 11-Apr-2016 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Give user's compiler flags precedence over default ones
The user can provide additional CFLAGS to use when building TF. However, these custom CFLAGS are currently prepended to the standard CFLAGS th
Give user's compiler flags precedence over default ones
The user can provide additional CFLAGS to use when building TF. However, these custom CFLAGS are currently prepended to the standard CFLAGS that are hardcoded in the TF build system. This is an issue because when providing conflicting compiler flags (e.g. different optimisations levels like -O1 and -O0), the last one on the command line usually takes precedence. This means that the user flags get overriden.
To address this problem, this patch separates the TF CFLAGS from the user CFLAGS. The former are now stored in the TF_CFLAGS make variable, whereas the CFLAGS make variable is untouched and reserved for the user. The order of the 2 sets of flags is enforced when invoking the compiler.
Fixes ARM-Software/tf-issues#350
Change-Id: Ib189f44555b885f1dffbec6015092f381600e560
show more ...
|
| #
91e8ae66 |
| 07-Apr-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #578 from EvanLloyd/ejll/woa_make2
Make improvements for host environment portability
|
| #
414ab853 |
| 03-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Improve version string generation portability
To get round problems encountered when building in a DOS build environment the generation of the .o file containing build identifier strings is mod
Make:Improve version string generation portability
To get round problems encountered when building in a DOS build environment the generation of the .o file containing build identifier strings is modified. The problems encounterred were: 1. DOS echo doesn't strip ' characters from the output text. 2. git is not available from CMD.EXE so the BUILD_STRING value needs some other origin.
A BUILD_STRING value of "development build" is used for now.
MAKE_BUILD_STRINGS is used to customise build string generation in a DOS environment. This variable is not defined in the UNIX build environment make file helper, and so the existing build string generation behaviour is retained in these build environments.
NOTE: This commit completes a cumulative series aimed at improving build portability across development environments. This enables the build to run on several new build environments, if the relevant tools are available. At this point the build is tested on Windows 7 Enterprise SP1, using CMD.EXE, Cygwin and Msys (MinGW),as well as a native Linux envionment". The Windows platform builds used aarch64-none-elf-gcc.exe 4.9.1. CMD.EXE and Msys used Gnu Make 3.81, cygwin used Gnu Make 4.1.
CAVEAT: The cert_create tool build is not tested on the Windows platforms (openssl-for-windows has a GPL license).
Change-Id: Iaa4fc89dbe2a9ebae87e2600c9eef10a6af30251
show more ...
|
| #
51b27702 |
| 03-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Improve directory generation portability.
Because of command differences in some build environments the "inline" method of generating the build directory structure is not portable. (e.g. in DOS
Make:Improve directory generation portability.
Because of command differences in some build environments the "inline" method of generating the build directory structure is not portable. (e.g. in DOS environments the mkdir shell command fails if a directory already exists, whereas in UNIX environments it succeeds.)
To improve portability we generate the directories needed using make, but use the "order-only prerequisites" feature of make to prevent writes of files into the directories generating re-builds, as suggested in the GNU make Manual (Version 4.1 September 2014).
Change-Id: Ic9af475831063c7fe6f8bccffef184d79e799419
show more ...
|
| #
e7f54dbd |
| 02-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Use environment variables for OS detection.
Add make helper files to select the appropriate settings for the build environment. Selection is made in make_helpers/build_env.mk, which selects oth
Make:Use environment variables for OS detection.
Add make helper files to select the appropriate settings for the build environment. Selection is made in make_helpers/build_env.mk, which selects other files to include using generic build environment settings. The Trusted Firmware Makefile and supporting tool Makefiles are updated to include build_env.mk instead of unix.mk.
NOTE: This change does not fully enable builds in other build environments. It facilitates this without compromising the existing build environments.
Change-Id: Ic4064ffe6ce158bbd16d7cc9f27dd4655a3580f6
show more ...
|
| #
1670d9df |
| 02-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Diagnostic fail if no eval
To help diagnose make problems, we report an error if the make program used does not provide the $(eval ) make functionality. This will detect early versions of GNU m
Make:Diagnostic fail if no eval
To help diagnose make problems, we report an error if the make program used does not provide the $(eval ) make functionality. This will detect early versions of GNU make and other make programs.
Change-Id: I0ebb0f63694cf0b04eaeb7ea1e9e172fb9770ce0
show more ...
|
| #
231c1470 |
| 02-Dec-2015 |
Evan Lloyd <evan.lloyd@arm.com> |
Make:Remove calls to shell from makefiles.
As an initial stage of making Trusted Firmware build environment more portable, we remove most uses of the $(shell ) function and replace them with more po
Make:Remove calls to shell from makefiles.
As an initial stage of making Trusted Firmware build environment more portable, we remove most uses of the $(shell ) function and replace them with more portable make function based solutions.
Note that the setting of BUILD_STRING still uses $(shell ) since it's not possible to reimplement this as a make function. Avoiding invocation of this on incompatible host platforms will be implemented separately.
Change-Id: I768e2f9a265c78814a4adf2edee4cc46cda0f5b8
show more ...
|
| #
846f2367 |
| 11-Feb-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #513 from pgeorgi/configurable-timestamp
build system: allow overriding the build's timestamp
|
| #
2f5d4a48 |
| 28-Jan-2016 |
Patrick Georgi <pgeorgi@google.com> |
build system: allow overriding the build's timestamp
This allows reproducible builds (same source and same compiler produce bit-identical results) and also allows coordinating the timestamp across m
build system: allow overriding the build's timestamp
This allows reproducible builds (same source and same compiler produce bit-identical results) and also allows coordinating the timestamp across multiple projects, eg. with another firmware.
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
show more ...
|
| #
5773b532 |
| 06-Jan-2016 |
danh-arm <dan.handley@arm.com> |
Merge pull request #479 from jcastillo-arm/jc/tbbr_fip
Apply TBBR naming convention to the fip_create options
|
| #
8f0617ef |
| 05-Jan-2016 |
Juan Castillo <juan.castillo@arm.com> |
Apply TBBR naming convention to the fip_create options
The fip_create tool specifies images in the command line using the ARM TF naming convention (--bl2, --bl31, etc), while the cert_create tool us
Apply TBBR naming convention to the fip_create options
The fip_create tool specifies images in the command line using the ARM TF naming convention (--bl2, --bl31, etc), while the cert_create tool uses the TBBR convention (--tb-fw, --soc-fw, etc). This double convention is confusing and should be aligned.
This patch updates the fip_create command line options to follow the TBBR naming convention. Usage examples in the User Guide have been also updated.
NOTE: users that build the FIP by calling the fip_create tool directly from the command line must update the command line options in their scripts. Users that build the FIP by invoking the main ARM TF Makefile should not notice any difference.
Change-Id: I84d602630a2585e558d927b50dfde4dd2112496f
show more ...
|
| #
31d5e7f5 |
| 14-Dec-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #467 from jcastillo-arm/jc/tbb_oid
Apply new image terminology
|
| #
f59821d5 |
| 10-Dec-2015 |
Juan Castillo <juan.castillo@arm.com> |
Replace all SCP FW (BL0, BL3-0) references
This patch replaces all references to the SCP Firmware (BL0, BL30, BL3-0, bl30) with the image terminology detailed in the TF wiki (https://github.com/ARM-
Replace all SCP FW (BL0, BL3-0) references
This patch replaces all references to the SCP Firmware (BL0, BL30, BL3-0, bl30) with the image terminology detailed in the TF wiki (https://github.com/ARM-software/arm-trusted-firmware/wiki):
BL0 --> SCP_BL1 BL30, BL3-0 --> SCP_BL2 bl30 --> scp_bl2
This change affects code, documentation, build system, tools and platform ports that load SCP firmware. ARM plaforms have been updated to the new porting API.
IMPORTANT: build option to specify the SCP FW image has changed:
BL30 --> SCP_BL2
IMPORTANT: This patch breaks compatibility for platforms that use BL2 to load SCP firmware. Affected platforms must be updated as follows:
BL30_IMAGE_ID --> SCP_BL2_IMAGE_ID BL30_BASE --> SCP_BL2_BASE bl2_plat_get_bl30_meminfo() --> bl2_plat_get_scp_bl2_meminfo() bl2_plat_handle_bl30() --> bl2_plat_handle_scp_bl2()
Change-Id: I24c4c1a4f0e4b9f17c9e4929da815c4069549e58
show more ...
|
| #
ab5a53ef |
| 09-Dec-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #453 from yatharth-arm/yk/fwu-6
Firmware Update patch stack
|
| #
0191262d |
| 12-Oct-2015 |
Yatharth Kochar <yatharth.kochar@arm.com> |
FWU: Add support for `fwu_fip` target
Firmware update feature needs a new FIP called `fwu_fip.bin` that includes Secure(SCP_BL2U, BL2U) and Normal world(NS_BL2U) images along with the FWU_CERT certi
FWU: Add support for `fwu_fip` target
Firmware update feature needs a new FIP called `fwu_fip.bin` that includes Secure(SCP_BL2U, BL2U) and Normal world(NS_BL2U) images along with the FWU_CERT certificate in order for NS_BL1U to load the images and help the Firmware update process to complete.
This patch adds the capability to support the new target `fwu_fip` which includes above mentioned FWU images in the make files.
The new target of `fwu_fip` and its dependencies are included for compilation only when `TRUSTED_BOARD_BOOT` is defined.
Change-Id: Ie780e3aac6cbd0edfaff3f9af96a2332bd69edbc
show more ...
|