On 05/19/2017 02:56 AM, Andre Przywara wrote: > Hi York, > > On 16/05/17 16:54, york sun wrote: >> On 05/15/2017 10:42 PM, Lokesh Vutla wrote: >>> + Andre >>> >>> >>> On Monday 15 May 2017 09:31 PM, York Sun wrote: >>>> This patch set adds FIT support for falcon boot. GZIP is enabled >>>> to supported compressed image. >>> >>> Did you get a chance to look at Andre's "SPL: extend FIT loading >>> support"[1] patch series? This series addresses similar problem in a >>> more generic way. >>> >>> [1] >>> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mail-archive.com%2Fu-boot%40lists.denx.de%2Fmsg246692.html&data=01%7C01%7Cyork.sun%40nxp.com%7C63ec3a7e245445e2253d08d49c1e542b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0&sdata=XrCyv6JBg02fwP7MEMo1hg8rVCOGnEQ741Hs0oLwZVg%3D&reserved=0 >> >> I only received partial patches from Andre's set. Looks like that set >> should cover my changes by supporting multiple images. I was focusing on >> a fast boot path for the past two months. I can rebase my patch once >> Andre's set is merged. > > FYI: My patches have been merged into u-boot-sunxi/master[1], which is > based on origin/master as of earlier this week. > I take it they get merged into origin before -rc1, but meanwhile you > could base on u-boot-sunxi/master. >
Andre, Reading through your commits, I am glad to see you can support multiple images. My understanding is you use "loadables" to indicate extra images to load after loading U-Boot. The spl_image->entry_point is set to either the last image's entry point (if set), or to the spl_image->load_addr. Do I get it right? When you process the images, if there is a "firmware" image, you presume it is U-Boot and load it. If no such image, you take the first image in "loadables", presuming it is U-Boot. Do I understand you correctly? In your example its file, you demonstrated multiple "firmware" images, and U-Boot has type of "standalone". Since you didn't put "firmware" in the config node, I presume you would hit the "loadables". Correct? While I try to rebase my patch on top of yours, I realize you still presume U-Boot image always exists. This is what I am trying to change for falcon boot. I think the easiest way is to leave "firmware" node absent in config node, and check the image type before setting spl_image->os. After that I can follow the code flow to load ramdisk, etc. I just have to add the "loadables" into my its. How about this flow with pseudo code node = spl_fit_get_image_node(fit, images, "firmware", 0); if (node < 0) { node = spl_fit_get_image_node(fit, images, "loadables", 0); index = 1; } if (node < 0) return -1; if (image_type(node) == IH_TYPE_KERNEL) { index = 0; /* reset to first image */ } else { /* presuming U-Boot */ spl_image->os = IH_OS_U_BOOT; continue_to_read_device_tree(); } /* check if there are more images to load */ for (; ; index++) { /* keep existing code */ } What do you think? I will need to modify spl_load_fit_image() a little bit to support compressed kernel image. York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot