arm-trusted-firmware/make_helpers
Masahiro Yamada 1c75d5dfb0 fiptool: support --align option to add desired alignment to image offset
The current fiptool packs all the images without any padding between
them.  So, the offset to each image has no alignment.  This is not
efficient, for example, when the FIP is read from a block-oriented
device.

For example, (e)MMC is accessed by block-addressing.  The block size
is 512 byte.  So, the best case is each image is aligned by 512 byte
since the DMA engine can transfer the whole of the image to its load
address directly.  The worst case is the offset does not have even
DMA-capable alignment (this is where we stand now).  In this case,
we need to transfer every block to a bounce buffer, then do memcpy()
from the bounce buffer to our final destination.  At least, this
should work with the abstraction by the block I/O layer, but the
CPU-intervention for the whole data transfer makes it really slow.

This commit adds a new option --align to the fiptool.  This option,
if given, requests the tool to align each component in the FIP file
by the specified byte.  Also, add a new Make option FIP_ALIGN for
easier access to this feature; users can give something like
FIP_ALIGN=512 from the command line, or add "FIP_ALIGN := 512" to
their platform.mk file.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-01-28 14:47:44 +09:00
..
tbbr Replace fip_create with fiptool 2016-07-29 10:38:46 +01:00
build_env.mk Fix incorrect copyright notices 2016-12-14 14:31:32 +00:00
build_macros.mk Build: strip trailing slashes from directory paths more simply 2017-01-19 19:36:47 +09:00
cygwin.mk Make:Allow for extension in tool names. 2016-04-01 12:33:09 +01:00
defaults.mk fiptool: support --align option to add desired alignment to image offset 2017-01-28 14:47:44 +09:00
msys.mk Make:Allow for extension in tool names. 2016-04-01 12:33:09 +01:00
plat_helpers.mk Make:Remove calls to shell from makefiles. 2016-04-01 12:33:09 +01:00
unix.mk Make:Make shell commands more portable 2016-04-01 12:33:09 +01:00
windows.mk Build: exclude -c flag from TF_CFLAGS 2017-01-05 11:25:13 +09:00