[PATCH 21/26] scripts: imx: add helper to write CSF Blocks command
Marco Felsch
m.felsch at pengutronix.de
Mon Oct 16 00:44:50 PDT 2023
Hi Sascha,
On 23-10-16, Marco Felsch wrote:
> On 23-10-13, Sascha Hauer wrote:
> > On Tue, Oct 10, 2023 at 04:33:09PM +0200, Marco Felsch wrote:
> > > The upcoming commit fixes the HAB support for FlexSPI enabled barebox
> > > images. This commit prepares the source to keep the diff smaller.
> > >
> > > For the upcoming fix we need a 2nd CSF command sequence which is
> > > basically the same as the first except for the "Blocks = ...." command.
> > > Therefore we need to handle the blocks command separately which is done
> > > by this commit. At the moment there is no functional change.
> > >
> > > Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
> > > ---
> > > scripts/imx/imx.c | 22 ++++++++++++++++++++--
> > > 1 file changed, 20 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/scripts/imx/imx.c b/scripts/imx/imx.c
> > > index 933019eba449..acc8424e547d 100644
> > > --- a/scripts/imx/imx.c
> > > +++ b/scripts/imx/imx.c
> > > @@ -296,6 +296,24 @@ static int hab_add_str(struct config_data *data, const char *str)
> > > return 0;
> > > }
> > >
> > > +static int hab_add_barebox_blocks(struct config_data *data,
> > > + const char *csf_str,
> > > + const char *flexspi_csf_str)
> > > +{
> > > + int len = strlen(csf_str);
> > > +
> > > + if (data->csf_space < len)
> > > + return -ENOMEM;
> > > +
> > > + strcat(data->csf, csf_str);
> > > + if (flexspi_csf_str)
> > > + strcat(data->flexspi_csf, flexspi_csf_str);
> >
> > Do we need a space check here as well?
>
> To be 100% accurate yes since the strings can have different lengths
> albeit the difference would be <5 chars. I will rework that, thanks for
> the review.
While integrating your review feedback I noticed that my comment was
wrong. Both strings using the same size limited format string:
"Blocks = 0x%08x 0x%08x 0x%08x \"%s\""
with "%s" always point to data->outfile. So both stings do not differ
and checking csf_str in enough.
Regards,
Marco
>
> Regards,
> Marco
>
> >
> > Sascha
> >
> > > +
> > > + data->csf_space -= len;
> > > +
> > > + return 0;
> > > +}
> > > +
> > > static int do_hab(struct config_data *data, int argc, char *argv[])
> > > {
> > > int i, ret;
> > > @@ -343,7 +361,7 @@ imx8m_get_offset_size(struct config_data *data,
> > >
> > > static int do_hab_blocks(struct config_data *data, int argc, char *argv[])
> > > {
> > > - char *str;
> > > + char *str, *flexspi_str = NULL;
> > > int ret;
> > > int i;
> > > uint32_t signed_size = data->load_size;
> > > @@ -378,7 +396,7 @@ static int do_hab_blocks(struct config_data *data, int argc, char *argv[])
> > > if (ret < 0)
> > > return -ENOMEM;
> > >
> > > - ret = hab_add_str(data, str);
> > > + ret = hab_add_barebox_blocks(data, str, flexspi_str);
> > > free(str);
> > > if (ret)
> > > return ret;
> > > --
> > > 2.39.2
> > >
> > >
> > >
> >
> > --
> > Pengutronix e.K. | |
> > Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> > 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
> >
>
>
More information about the barebox
mailing list