Replace some memset call by zeromem
Replace all use of memset by zeromem when zeroing moderately-sized
structure by applying the following transformation:
memset(x, 0, sizeof(x)) => zeromem(x, sizeof(x))
As the Trusted Firmware is compiled with -ffreestanding, it forbids the
compiler from using __builtin_memset and forces it to generate calls to
the slow memset implementation. Zeromem is a near drop in replacement
for this use case, with a more efficient implementation on both AArch32
and AArch64.
Change-Id: Ia7f3a90e888b96d056881be09f0b4d65b41aa79e
Signed-off-by:
Douglas Raillard <douglas.raillard@arm.com>
Showing
- bl32/sp_min/sp_min_main.c 3 additions, 2 deletionsbl32/sp_min/sp_min_main.c
- drivers/auth/mbedtls/mbedtls_x509_parser.c 3 additions, 2 deletionsdrivers/auth/mbedtls/mbedtls_x509_parser.c
- drivers/emmc/emmc.c 20 additions, 19 deletionsdrivers/emmc/emmc.c
- drivers/io/io_block.c 4 additions, 3 deletionsdrivers/io/io_block.c
- drivers/io/io_fip.c 3 additions, 2 deletionsdrivers/io/io_fip.c
- drivers/io/io_memmap.c 3 additions, 2 deletionsdrivers/io/io_memmap.c
- drivers/partition/gpt.c 3 additions, 2 deletionsdrivers/partition/gpt.c
- lib/el3_runtime/aarch32/context_mgmt.c 3 additions, 2 deletionslib/el3_runtime/aarch32/context_mgmt.c
- lib/el3_runtime/aarch64/context_mgmt.c 3 additions, 2 deletionslib/el3_runtime/aarch64/context_mgmt.c
- lib/psci/psci_common.c 5 additions, 4 deletionslib/psci/psci_common.c
- plat/arm/common/arm_bl2_setup.c 3 additions, 2 deletionsplat/arm/common/arm_bl2_setup.c
- plat/arm/css/drivers/scpi/css_scpi.c 4 additions, 2 deletionsplat/arm/css/drivers/scpi/css_scpi.c
- plat/nvidia/tegra/common/drivers/memctrl/memctrl.c 1 addition, 0 deletionsplat/nvidia/tegra/common/drivers/memctrl/memctrl.c
- plat/qemu/qemu_bl2_setup.c 3 additions, 3 deletionsplat/qemu/qemu_bl2_setup.c
- plat/rockchip/rk3399/drivers/dram/dram_spec_timing.c 6 additions, 5 deletionsplat/rockchip/rk3399/drivers/dram/dram_spec_timing.c
- plat/xilinx/zynqmp/pm_service/pm_client.c 3 additions, 2 deletionsplat/xilinx/zynqmp/pm_service/pm_client.c
- services/spd/opteed/opteed_common.c 3 additions, 2 deletionsservices/spd/opteed/opteed_common.c
- services/spd/tspd/tspd_common.c 3 additions, 2 deletionsservices/spd/tspd/tspd_common.c
Loading
Please register or sign in to comment