
Hi Andreas,
On 23 June 2016 at 08:19, Andreas Dannenberg dannenberg@ti.com wrote:
On Thu, Jun 23, 2016 at 07:57:13AM -0600, Simon Glass wrote:
Hi Andreas,
On 20 June 2016 at 21:34, Andreas Dannenberg dannenberg@ti.com wrote:
From: Daniel Allred d-allred@ti.com
The next stage boot loader image and the selected FDT can be post-processed by board/platform/device-specific code, which can include modifying the size and altering the starting source address before copying these binary blobs to their final desitination. This might be desired to do things like strip headers or footers attached to the images before they were packeaged into the FIT, or to perform operations such as decryption or authentication.
Signed-off-by: Daniel Allred d-allred@ti.com Signed-off-by: Andreas Dannenberg dannenberg@ti.com
common/spl/spl_fit.c | 21 ++++++++++++++++----- include/image.h | 15 +++++++++++++++ 2 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c index 9874708..ecbcb97 100644 --- a/common/spl/spl_fit.c +++ b/common/spl/spl_fit.c @@ -121,6 +121,10 @@ static int get_aligned_image_size(struct spl_load_info *info, int data_size, return (data_size + info->bl_len - 1) / info->bl_len; }
+void __weak board_fit_image_post_process(void **p_src, size_t *p_size) +{ +}
Can you make this a Kconfig option instead of a weak function? It's hard enough to trace what a particular board is doing...
Hi Simon, I understand your point and we did look into doing it but could not come up with a good way (certainly I don't want to clutter this global file with any TI stuff) but maybe we were over-thinking it :)
So (roughly) how would you like to see this Kconfig option to be implemented? I'll be happy to change the implementation if given a little direction.
Add Kconfig like FIT_IMAGE_POST_PROCESS
Then in the code:
if (IS_ENABLED(FIT_IMAGE_POST_PROCESS)) board_fit_image_post_process(...)
(or use #ifdef)
and enable it for your board.
You are already cluttering the code with TI stuff, but at least this way it is clear whether a particular board is using this feature. Perhaps others will find it useful too.
With enough weak functions we would reach a point where no one can figure out what is happened without linking the code and looking at the link map!
Regards, Simon
Thanks, Andreas
[snip]