arm-trusted-firmware/lib/xlat_tables_v2
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 Update ULL() macro and instances of ull to comply with MISRA 2018-02-27 17:05:51 +00:00
aarch64 Update ULL() macro and instances of ull to comply with MISRA 2018-02-27 17:05:51 +00:00
xlat_tables.mk xlat: Add support for EL0 and EL1 mappings 2017-10-05 14:32:12 +01:00
xlat_tables_internal.c lib: xlat_tables_v2: reduce time required to add a mmap region 2018-04-09 16:37:23 -07:00
xlat_tables_private.h Fix MISRA rule 8.3 in common code 2018-02-28 17:18:21 +00:00