[U-Boot] [PATCH v3 0/10] image: Reduce code duplication and refactor

Tom Rini trini at ti.com
Wed Jun 5 14:33:55 CEST 2013


On Thu, May 16, 2013 at 04:53:18PM -0700, Simon Glass wrote:

> In creating a new feature[*] I found that the image code includes quite
> a bit of duplication in places. In particular the code to load a kernel,
> FDT and ramdisk is all fairly similar, but subtly different.
> 
> This series introduces a new function fit_image_load() which loads an image
> from a FIT and supports the various features. For the bootstage updates,
> these are standardised so that each file has its own range and the events
> within that range have corresponding numbers. This means that the boot
> progress numbers will change slightly with this series.
> 
> The image.c file is still very long. Rather than perpetuate the #ifdefs
> in the code I have split out the image.c code that is dependent on
> CONFIG_OF_LIBFDT into image-fdt.c.
> 
> Several architectures have their own way of setting up a ramdisk and FDT
> for booting. An attempt is made here to unify these by providing a function
> image_setup_linux() to handle the overall task, and image_setup_fdt() to set
> up the FDT.
> 
> For ARM, the bootm code is a maze of #ifdefs, which means that many boards
> compile the code differently and it takes longer to detect breakages. To get
> around this, some defines are added to ARM's bootm.h to permit the use of
> if() instead of #ifdef, making use of the compiler's dead code elimination.
> 
> Also this series introduces a very basic test of image loading using sandbox.
> Some patches add bootm support for sandbox, and also a 'sb save' command to
> save memory to a host file (used to check that the bootm actually worked).
> 
> A test program for sandbox is added as a basic sanity check of image loading
> as performed by bootm.
> 
> * The new feature is support for FIT booting on x86, available in patchwork
> starting here:
> 
> http://patchwork.ozlabs.org/patch/211526/
> 
> Changes in v3:
> - Rebase without verified boot patches
> 
> Changes in v2:
> - Add workaround for ELDK-4.2 to avoid cast warning
> - Put quotes around error when selected FIT config cannot be found
> - Correct definition of IMAGE_ENABLE_BEST_MATCH
> - Fix checkpatch checks about parenthesis alignment
> - Rebase on previous patches
> - Add workaround for ELDK-4.2 to avoid cast warning
> 
> Simon Glass (10):
>   bootstage: Introduce sub-IDs for use with image loading
>   mkimage: Add map_sysmem() and IH_ARCH_DEFAULT to simplfy building
>   image: Introduce fit_image_load() to load images from FITs
>   image: Use fit_image_load() to load ramdisk
>   image: Use fit_image_load() to load FDT
>   sandbox: Adjust bootm command to work with sandbox
>   image: Use fit_image_load() to load kernel
>   sandbox: image: Adjust FIT image printing to work with sandbox
>   bootstage: Remove unused entries related to kernel/ramdisk/fdt load
>   sandbox: image: Create a test for loading FIT images
> 
>  common/cmd_bootm.c     | 170 +++-----------------
>  common/image-fdt.c     | 207 ++++--------------------
>  common/image-fit.c     | 310 +++++++++++++++++++++++++-----------
>  common/image.c         | 122 ++------------
>  include/bootstage.h    |  51 +++---
>  include/image.h        | 105 +++++++++++-
>  test/image/test-fit.py | 422 +++++++++++++++++++++++++++++++++++++++++++++++++
>  tools/mkimage.h        |  12 ++
>  8 files changed, 846 insertions(+), 553 deletions(-)
>  create mode 100755 test/image/test-fit.py

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130605/9319f7b0/attachment.pgp>


More information about the U-Boot mailing list