[U-Boot] [RFC PATCH v4 0/3] Enable FIT image to be loaded beyond 32-bit space

York Sun york.sun at nxp.com
Fri Feb 12 21:59:06 CET 2016


Please comment on these changes. Don't apply yet. I think there may
be compiling warnings on some platforms. Want to get some feedback
before going too far on this path.

This set fixes compiling warnings for sandbox on 32-bit host (Ubuntu),
convert ulong to phys_addr_t for image handling. The purpose is to fix
image addresses so FIT image can be put beyond 32-bit space.
The challenge is to keep 32-bit host tool (eg mkimage) working. Using
unsigned long long as phys_addr_t for host is the trick.

This patchset is only tested on powerpc and arm for selected platforms.
More test (at least compiling) is needed for other platforms.

Changes in v4:
  New patch to fix compiling warnings for sandbox built on 32-bit host
  Still need to change CONFIG_SANDBOX_BITS_PER_LONG to 32 to avoid
  these warnings
  include/asm-generic/bitops/__fls.h:17:2: warning: left shift
   count >= width of type [enabled by default]
  include/asm-generic/bitops/__fls.h:19:3: warning: left shift
   count >= width of type [enabled by default]
  include/asm-generic/bitops/__fls.h:22:2: warning: left shift
   count >= width of type [enabled by default]
  include/asm-generic/bitops/__fls.h:26:2: warning: left shift
   count >= width of type [enabled by default]
  include/asm-generic/bitops/__fls.h:30:2: warning: left shift
   count >= width of type [enabled by default]
  include/asm-generic/bitops/__fls.h:34:2: warning: left shift
   count >= width of type [enabled by default]
  include/asm-generic/bitops/__fls.h:38:2: warning: left shift
   count >= width of type [enabled by default]
  New patch, separated from fixing FIT image.
  Separate ulong to phys_addr_t change to another patch.

Changes in v3:
  Define PRIpa for host and target in common/image-fit.c so printf works
  properly for 32-, 64-bit targets and host tools.

Changes in v2:
  Make a common function for both load and entry addresses.
  Simplify calculation of addresses in a similar way as fdtdec_get_number()
  fdtdec_get_number() is not used, or too many files need to be included
    and/or twisted for host tool
  Continue to use %08llx for print format for load and entry addresses
    because %pa does not always work for host tool (mkimage)

York Sun (3):
  sandbox: Fix compiling warning on 32-bit host
  common: Convert ulong to phys_addr_t for image addresses
  common: Fix load and entry addresses in FIT image

 arch/powerpc/lib/bootm.c         |    4 +-
 arch/sandbox/cpu/cpu.c           |    3 +-
 arch/sandbox/include/asm/types.h |    4 +-
 arch/sandbox/lib/bootm.c         |    3 +-
 arch/sandbox/lib/pci_io.c        |    2 +-
 cmd/bootm.c                      |    4 +-
 cmd/lzmadec.c                    |    5 ++-
 cmd/ximg.c                       |    9 +++--
 common/bootm.c                   |   21 +++++-----
 common/bootm_os.c                |   14 ++++---
 common/image-android.c           |    6 +--
 common/image-fdt.c               |   16 ++++----
 common/image-fit.c               |   81 +++++++++++++++++++++-----------------
 common/image.c                   |   17 ++++----
 disk/part_efi.c                  |    2 +-
 include/bootm.h                  |    6 +--
 include/image.h                  |   36 +++++++++++------
 lib/hashtable.c                  |    2 +-
 tools/default_image.c            |    2 +-
 19 files changed, 134 insertions(+), 103 deletions(-)

-- 
1.7.9.5



More information about the U-Boot mailing list