From f85ad1e52a499bc98ae9d559157e8adbe8a5ad1f Mon Sep 17 00:00:00 2001 From: Bradey Honsinger Date: Mon, 15 Mar 2010 08:43:41 +0100 Subject: image loading: fix problem with offsets > 0x80000000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/target/xscale.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/target/xscale.c') diff --git a/src/target/xscale.c b/src/target/xscale.c index 50c95950..dd4a7ee6 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -3419,7 +3419,7 @@ COMMAND_HANDLER(xscale_handle_trace_image_command) if (CMD_ARGC >= 2) { xscale->trace.image->base_address_set = 1; - COMMAND_PARSE_NUMBER(int, CMD_ARGV[1], xscale->trace.image->base_address); + COMMAND_PARSE_NUMBER(llong, CMD_ARGV[1], xscale->trace.image->base_address); } else { -- cgit v1.2.3