
Hi Kever,
Kever Yang kever.yang@rock-chips.com writes:
The image is usually stored in block device like emmc, SD card, make the offset of image data aligned to block(512 byte) can avoid data copy during boot process. eg. SPL boot from FIT image with external data:
- SPL read the first block of FIT image, and then parse the header;
- SPL read image data separately;
- The first image offset is the base_offset which is the header size;
- The second image offset is just after the first image;
- If the offset of imge does not aligned, SPL will do memcpy;
The header size is a ramdon number, which is very possible not aligned, so add align for FIT header and image data for better performance.
SPI device do not need to enable this feature.
This seems like a nice improvement.
I had a few minor comments to help readability.
Signed-off-by: Kever Yang kever.yang@rock-chips.com
doc/uImage.FIT/source_file_format.txt | 5 +++++ tools/fit_image.c | 16 +++++++++++----- tools/imagetool.h | 1 + tools/mkimage.c | 8 ++++++-- 4 files changed, 23 insertions(+), 7 deletions(-)
[...]
diff --git a/tools/imagetool.h b/tools/imagetool.h index e1c778b0df..e098cb41cc 100644 --- a/tools/imagetool.h +++ b/tools/imagetool.h @@ -40,6 +40,7 @@ struct content_info {
- type specific functions
*/ struct image_tool_params {
- int bflag;
To improve readability of code, please consider naming the newly added flag to something more descriptive, e.g. "block_align_flag" or "align_flag", in future versions of the patch.
int dflag; int eflag; int fflag; diff --git a/tools/mkimage.c b/tools/mkimage.c index 5f51d2cc89..03b357f869 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -97,8 +97,9 @@ static void usage(const char *msg) " -i => input filename for ramdisk file\n"); #ifdef CONFIG_FIT_SIGNATURE fprintf(stderr,
"Signing / verified boot options: [-E] [-k keydir] [-K dtb] [ -c <comment>] [-p addr] [-r] [-N engine]\n"
" -E => place data outside of the FIT structure\n""Signing / verified boot options: [-E] [-B] [-k keydir] [-K dtb] [ -c <comment>] [-p addr] [-r] [-N engine]\n"
" -B => truncate FIT structure and header to block\n"
"align"
" -k => set directory containing private keys\n" " -K => write public keys to this .dtb file\n" " -c => add comment in signature node\n"
Thanks, Punit
[...]