[SPAM] [PATCH 20/26] test: spl: Add functions to create images
Xavier Drudis Ferran
xdrudis at tinet.cat
Fri Oct 13 21:44:01 CEST 2023
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 <seanga2 at 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;
> +}
> +
More information about the U-Boot
mailing list