From: Marek Vasut Date: Thu, 31 May 2018 15:59:19 +0000 (+0200) Subject: spl: fat: Support full fitImage handling X-Git-Tag: v2018.09-rc1~166 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8b1531f7bc66fae7e5c155d6ae5fa2e7aa77ade2;p=oweals%2Fu-boot.git spl: fat: Support full fitImage handling Handle the case where the full fitImage support is enabled. In this case, the whole fitImage must be loaded up front as some parts of the fitImage code require memory-mapped access to the entire fitImage. Signed-off-by: Marek Vasut Cc: Pantelis Antoniou Cc: Simon Glass --- diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c index 87dd553210..0403016bb4 100644 --- a/common/spl/spl_fat.c +++ b/common/spl/spl_fat.c @@ -70,7 +70,18 @@ int spl_load_image_fat(struct spl_image_info *spl_image, if (err <= 0) goto end; - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) && + image_get_magic(header) == FDT_MAGIC) { + err = file_fat_read(filename, (void *)CONFIG_SYS_LOAD_ADDR, 0); + if (err <= 0) + goto end; + err = spl_parse_image_header(spl_image, + (struct image_header *)CONFIG_SYS_LOAD_ADDR); + if (err == -EAGAIN) + return err; + if (err == 0) + err = 1; + } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && image_get_magic(header) == FDT_MAGIC) { struct spl_load_info load;