Hi Tom, > On Fri, Sep 16, 2016 at 10:43:51AM +0200, Lukasz Majewski wrote: > > > This define gives the possibility to copy entire image (including > > header) from NOR parallel memory to e.g. SDRAM. > > > > The legacy behavior is preserved, since other board don't enabled > > this option. > > What's the use case?
This code is used on some boards (ppc [1]) in which we copy only payload of the image (i.e. we drop the package metadata). In my particular case I would like to copy the image with its meta data (in similar way works spl_nand.c and spl_mmc.c). Since, I wanted to avoid code duplication, I've decided to add this flag. > > > Signed-off-by: Lukasz Majewski <[email protected]> > > --- > > Kconfig | 10 ++++++++++ > > This should now get moved to common/spl/Kconfig OK. As a side note - I do have some other patches which move some SPL_NOR options to Kconfig. However, I omitted them when I saw great work done by Simon to move a lot of SPL options to Kconfig. I hope them will be merged soon :-) > > > README | 4 ++++ > > This can be dropped. So, we don't add any new entries to README and now rely solely on Kconfig "help" sections? > > [snip] > > diff --git a/common/spl/spl_nor.c b/common/spl/spl_nor.c > > index 8ea874c..1e0f739 100644 > > --- a/common/spl/spl_nor.c > > +++ b/common/spl/spl_nor.c > > @@ -9,13 +9,15 @@ > > > > int spl_nor_load_image(void) > > { > > + void *img_src; > > int ret; > > +#ifndef CONFIG_SPL_NOR_COPY_ENTIRE_IMAGE > > /* > > * Loading of the payload to SDRAM is done with skipping of > > * the mkimage header in this SPL NOR driver > > */ > > spl_image.flags |= SPL_COPY_PAYLOAD_ONLY; > > - > > +#endif > > #ifdef CONFIG_SPL_OS_BOOT > > if (!spl_start_uboot()) { > > const struct image_header *header; > > @@ -64,9 +66,13 @@ int spl_nor_load_image(void) > > if (ret) > > return ret; > > > > We should have a comment here about how we're calculating the base of > where to copy from. I will be more verbose with v2 :-). Thanks for review. > > > + img_src = (void *)CONFIG_SYS_UBOOT_BASE; > > +#ifndef CONFIG_SPL_NOR_COPY_ENTIRE_IMAGE > > + img_src += sizeof(struct image_header)); > > +#endif > > + > > memcpy((void *)(unsigned long)spl_image.load_addr, > > - (void *)(CONFIG_SYS_UBOOT_BASE + sizeof(struct > > image_header)), > > - spl_image.size); > > + img_src, spl_image.size); > > > > return 0; > > } > > Thanks! > Best regards, Ćukasz Majewski Notes: [1] - Extract from source code (spl_nor.c): /* * On some system (e.g. powerpc), the load-address and * entry-point is located at address 0. We can't load * to 0-0x40. So skip header in this case. */
pgpIRinR5zffw.pgp
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

