arm-trusted-firmware/plat/arm/board/arm_fpga
Boyan Karatotev f7a41fb493 perf(build): be clever about uppercasing
Most of the macros in build_macros.mk get lazily evaluated. That's
mostly fine, except for the fact that the `uppercase` macro needs to
spawn a subshell to get its output. And the target for every file
requires calling `uppercase` many, MANY, times, thrashing performance on
even the most trivial of make commands.

We can be a little clever and only call `uppercase` a handful of times
and then pass around the already uppercased strings.

The same is true about the verbosity augmentation variables. Simply
changing them to simply expanded variables allows for them to be
pre-processed and then used over and over again.

`make realclean` is a pretty good benchmark for this as it doesn't do
much else but must process all the rules, like every other make command.
On a clean checkout of TF-A on an Intel Xeon Gold 5218 (i.e.  slow
single-core) workstation, that command used to take about 7 seconds.
With this patch it takes about 0.5.

Change-Id: I632236a12a40f169e834974ecbc73ff80aac3462
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2024-11-08 12:27:46 +00:00
..
aarch64 arm_fpga: Add support for topology self-discovery 2020-07-24 15:06:42 +01:00
include fix(arm_fpga): limit BL31 memory usage 2021-09-03 14:14:02 +01:00
build_axf.ld.S build: always prefix section names with . 2023-02-20 18:29:33 +00:00
fpga_bl31_setup.c fix(fpga): include missing header file 2023-03-23 13:25:41 +00:00
fpga_console.c arm_fpga: Read UART address from DT 2020-05-05 15:36:51 +01:00
fpga_def.h fix(arm_fpga): halve number of PEs per core 2024-02-02 20:06:28 +00:00
fpga_gicv3.c feat(arm_fpga): add ITS autodetection 2021-11-04 15:58:34 +00:00
fpga_pm.c Fix coverity defects found on the FPGA port. 2020-04-02 14:11:12 +01:00
fpga_private.h feat(arm_fpga): add ITS autodetection 2021-11-04 15:58:34 +00:00
fpga_topology.c arm_fpga: Add support for topology self-discovery 2020-07-24 15:06:42 +01:00
kernel_trampoline.S feat(arm_fpga): add kernel trampoline 2021-10-04 13:26:58 +02:00
platform.mk perf(build): be clever about uppercasing 2024-11-08 12:27:46 +00:00
rom_trampoline.S arm_fpga: Add ROM trampoline 2020-09-29 13:28:25 +01:00