image loading: fix problem with offsets > 0x80000000
authorBradey Honsinger <bradeyh@gmail.com>
Mon, 15 Mar 2010 07:43:41 +0000 (08:43 +0100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Tue, 16 Mar 2010 09:11:40 +0000 (10:11 +0100)
commitf85ad1e52a499bc98ae9d559157e8adbe8a5ad1f
treeedbc78edfafb01e2ea30ebf8ace6ddd176fadfe4
parenta540033a71eb0b10bb8de85963781ec1b9c06cf1
image loading: fix problem with offsets > 0x80000000

Fixes bug that prevented users from specifying a base address of
0x80000000 or higher in image commands (flash write_image, etm image,
xscale trace_image).

image.base_address is an offset from the start address contained in
the image file (if there is one), or from 0 (for binary files). As a
signed 32-bit int, it couldn't be greater than 0x7fffffff, which is a
problem when trying to write a binary file to flash above that
address. Changing it to a 64-bit long long keeps it as a signed
offset, but allows it to cover the entire 32-bit address space.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
src/flash/nor/tcl.c
src/target/etm.c
src/target/image.h
src/target/xscale.c