El Wed, Oct 11, 2023 at 09:56:20PM -0400, Sean Anderson deia: > This add some basic functions to create images, and a test for said > functions. This is not intended to be a test of the image parsing > functions, but rather a framework for creating minimal images for testing > load methods. That said, it does do an OK job at finding bugs in the image > parsing directly. > > Since we have two methods for loading/parsing FIT images, add LOAD_FIT_FULL > as a separate CI run. > > Signed-off-by: Sean Anderson <sean...@gmail.com> > --- > > .azure-pipelines.yml | 4 + > .gitlab-ci.yml | 7 + > arch/sandbox/cpu/u-boot-spl.lds | 2 + > configs/sandbox_noinst_defconfig | 6 + > configs/sandbox_spl_defconfig | 6 + > include/test/spl.h | 117 ++++++++++ > test/image/spl_load.c | 352 +++++++++++++++++++++++++++++++ > test/image/spl_load_os.c | 5 +- > 8 files changed, 495 insertions(+), 4 deletions(-) > create mode 100644 include/test/spl.h > [...] > diff --git a/test/image/spl_load.c b/test/image/spl_load.c > index 1a57bf846d2..ca3777cab37 100644 > --- a/test/image/spl_load.c > +++ b/test/image/spl_load.c > @@ -4,7 +4,15 @@ > */ > > #include <common.h> > +#include <image.h> > +#include <imx_container.h> > #include <mapmem.h> > +#include <memalign.h> > +#include <rand.h> > +#include <spl.h> > +#include <test/spl.h> > +#include <test/ut.h> > +#include <u-boot/crc.h> > > int board_fit_config_name_match(const char *name) > { > @@ -15,3 +23,347 @@ struct legacy_img_hdr *spl_get_load_buffer(ssize_t > offset, size_t size) > { > return map_sysmem(0x100000, 0); > } > + > +/* Try to reuse the load buffer to conserve memory */ > +void *board_spl_fit_buffer_addr(ulong fit_size, int sectors, int bl_len) > +{ > + static void *buf; > + static size_t size; > + static bool invalid = true; > + > + if (invalid || size < sectors * bl_len) { > + if (!invalid) > + free(buf); > + buf = malloc_cache_aligned(sectors * bl_len); > + invalid = false;
Should size be updated here or am I being thick ? size = ALIGN(sectors * bl_len, ARCH_DMA_MINALIGN); > + } > + return buf; > +} > +