[U-Boot] Gracefully handle 64-bit signed-extended 32-bit Load addresses

Tom Rini trini at konsulko.com
Thu Feb 25 16:23:54 CET 2016


On Tue, Feb 16, 2016 at 08:57:46AM -0500, William Cohen wrote:

> To follow the MIPS 32-bit and 64-bit memory map conventions (*) recent
> MIPS Linux kernels are using a 64-bit sign extended value
> (0xffffffff80010000) for the 32-bit load address (0x80010000) of the
> Creator CI20 board kernel.  When this 64-bit argument was passed to
> mkimage running on a 32-bit machine such as the Creator CI20 board the
> load address was incorrectly formed from the upper 32-bit sign-extend
> bits (0xffffffff) by the strtoul instead of from the lower 32-bits
> (0x80010000).  The mkimage should be able to tolerate the longer
> sign-extended 64-bit version of the 32-bit arguments with the use of
> strtoull.  Use of the strtoll in place of the strtol in mkimage.c
> resolves the issue of self hosted kernel builds for the Creator CI20
> board (+) and (++).
> 
> (*) http://techpubs.sgi.com/library/dynaweb_docs/0620/SGI_Developer/books/DevDriver_PG/sgi_html/ch01.html
> (+) https://github.com/MIPS/CI20_linux/issues/23
> (++) https://github.com/MIPS/CI20_linux/issues/22
> 
> Signed-off-by: William Cohen <wcohen at redhat.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160225/5616ed87/attachment.sig>


More information about the U-Boot mailing list