[U-Boot] [PATCH 2/9] spl: fit: add support for post-processing of images

Simon Glass sjg at chromium.org
Thu Jun 23 16:45:54 CEST 2016


Hi Andreas,

On 23 June 2016 at 08:19, Andreas Dannenberg <dannenberg at 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 at ti.com> wrote:
>> > From: Daniel Allred <d-allred at 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 at ti.com>
>> > Signed-off-by: Andreas Dannenberg <dannenberg at 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]


More information about the U-Boot mailing list