
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(-)