
On 10/13/23 15:44, Xavier Drudis Ferran wrote:
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@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);
It should.
--Sean