[U-Boot] [PATCH] image: fit: Allow booting Aarch64 from arm

Ramon Fried ramon.fried at gmail.com
Mon May 14 21:33:43 UTC 2018


Snapdragon bootloader needs to jump from 32bit to 64bit
Allow booting in these cases when CONFIG_AARCH32_SUPPORT_ARM64 is defined.

Signed-off-by: Ramon Fried <ramon.fried at gmail.com>
---
 common/image-fit.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/common/image-fit.c b/common/image-fit.c
index 5b93dceae1..62dbfbdd3d 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -1253,17 +1253,24 @@ int fit_image_check_arch(const void *fit, int noffset, uint8_t arch)
 {
 	uint8_t image_arch;
 	int aarch32_support = 0;
+	int aarch64_support = 0;
 
 #ifdef CONFIG_ARM64_SUPPORT_AARCH32
 	aarch32_support = 1;
 #endif
 
+#ifdef CONFIG_AARCH32_SUPPORT_ARM64
+	aarch64_support = 1;
+#endif
+
 	if (fit_image_get_arch(fit, noffset, &image_arch))
 		return 0;
 	return (arch == image_arch) ||
 		(arch == IH_ARCH_I386 && image_arch == IH_ARCH_X86_64) ||
 		(arch == IH_ARCH_ARM64 && image_arch == IH_ARCH_ARM &&
-		 aarch32_support);
+		 aarch32_support) ||
+		(arch == IH_ARCH_ARM && image_arch == IH_ARCH_ARM64 &&
+		 aarch64_support);
 }
 
 /**
-- 
2.17.0



More information about the U-Boot mailing list