]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
sandbox: image: Allow sandbox to load any image
authorSimon Glass <sjg@chromium.org>
Mon, 15 Mar 2021 05:11:12 +0000 (18:11 +1300)
committerSimon Glass <sjg@chromium.org>
Sat, 27 Mar 2021 02:04:31 +0000 (15:04 +1300)
Sandbox is special in that it is used for testing and it does not match
any particular target architecture. Allow it to load an image from any
architecture, so that 'bootm' can be used as needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/image-fit.c
include/image.h

index 28b3d2b19111cb0c888f12c0eb15ed5619d955ba..2d0ece618158fc9205d5cc12702fcd718535b95a 100644 (file)
@@ -1512,6 +1512,10 @@ int fit_image_check_arch(const void *fit, int noffset, uint8_t arch)
        uint8_t image_arch;
        int aarch32_support = 0;
 
+       /* Let's assume that sandbox can load any architecture */
+       if (IS_ENABLED(CONFIG_SANDBOX))
+               return true;
+
        if (IS_ENABLED(CONFIG_ARM64_SUPPORT_AARCH32))
                aarch32_support = 1;
 
index 138c83dd28d1678adc707d93ff270db1fe962868..bcd126d262d1d206d3a33cf1846e7a04581cbc12 100644 (file)
@@ -886,6 +886,11 @@ static inline int image_check_type(const image_header_t *hdr, uint8_t type)
 }
 static inline int image_check_arch(const image_header_t *hdr, uint8_t arch)
 {
+#ifndef USE_HOSTCC
+       /* Let's assume that sandbox can load any architecture */
+       if (IS_ENABLED(CONFIG_SANDBOX))
+               return true;
+#endif
        return (image_get_arch(hdr) == arch) ||
                (image_get_arch(hdr) == IH_ARCH_ARM && arch == IH_ARCH_ARM64);
 }