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

Andreas Dannenberg dannenberg at ti.com
Thu Jun 23 17:00:44 CEST 2016


On Thu, Jun 23, 2016 at 08:45:54AM -0600, Simon Glass wrote:
> 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.

Simon,
Yes that was the idea, to allow other use cases here as well. And thanks
for the suggestion, that's actually simpler than what we had thought of
(while also helping the re-use aspect). I'm also going to make this a
SPL_FIT_IMAGE_POST_PROCESS to narrow the scope a little and to follow a
similar scheme like the other SPL FIT related options.

Regards,
Andreas

> 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


More information about the U-Boot mailing list