arm-trusted-firmware/lib
Varun Wadekar 0ed3223293 lib: xlat_tables_v2: reduce time required to add a mmap region
The last entry in the mapping table is not necessarily the same as the
end of the table. This patch loops through the table to find the last
entry marker, on every new mmap addition. The memove operation then
has to only move the memory between current entry and the last entry.
For platforms that arrange their MMIO map properly, this opearation
turns out to be a NOP.

The previous implementation added significant overhead per mmap
addition as the memmove operation always moved the difference between
the current mmap entry and the end of the table.

Tested on Tegra platforms and this new approach improves the memory
mapping time by ~75%, thus significantly reducing boot time on some
platforms.

Change-Id: Ie3478fa5942379282ef58bee2085da799137e2ca
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2018-04-09 16:37:23 -07:00
..
aarch32 ARMv7: division support for missing __aeabi_*divmod 2017-11-08 14:42:07 +01:00
aarch64 misc_helpers: fix zero_normalmem() for BL2_AT_EL3 2018-02-01 13:17:29 +09:00
compiler-rt Import ctzdi2.c from LLVM compiler-rt 2017-07-26 09:28:23 +01:00
coreboot coreboot: Add support for CBMEM console 2018-01-19 15:21:12 -08:00
cpus Fixup `SMCCC_ARCH_FEATURES` semantics 2018-03-14 11:19:53 +00:00
el3_runtime Rename 'smcc' to 'smccc' 2018-03-21 10:49:27 +00:00
extensions Merge pull request #1282 from robertovargas-arm/misra-changes 2018-02-28 18:53:30 +00:00
libfdt Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
locks Clean usage of void pointers to access symbols 2018-03-27 13:20:27 +01:00
optee optee: print header info before validate 2018-02-08 02:17:24 +09:00
pmf Merge pull request #1313 from jonathanwright-ARM/jw/MISRA-switch-statements 2018-03-29 13:20:05 +01:00
psci Merge pull request #1313 from jonathanwright-ARM/jw/MISRA-switch-statements 2018-03-29 13:20:05 +01:00
semihosting Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
stack_protector Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
stdlib stdlib: remove comparison with EOF macro to comply with MISRA 2018-03-15 13:32:54 +00:00
utils Add mem_region utility functions 2017-09-25 13:32:20 +01:00
xlat_tables Update ULL() macro and instances of ull to comply with MISRA 2018-02-27 17:05:51 +00:00
xlat_tables_v2 lib: xlat_tables_v2: reduce time required to add a mmap region 2018-04-09 16:37:23 -07:00
zlib zlib: Fix build error when LOG_LEVEL=50 2018-02-08 09:36:48 +01:00