[PATCH] arm: afs: Set the filesize env. var. on load

From: Robert Catherall robert.catherall@arm.com
The `afs load` command copies data to RAM. Set the filesize environment variable to record how much data was 'loaded'
Signed-off-by: Robert Catherall robert.catherall@arm.com --- cmd/armflash.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/cmd/armflash.c b/cmd/armflash.c index d1466f73aa..fdaea5ad81 100644 --- a/cmd/armflash.c +++ b/cmd/armflash.c @@ -180,6 +180,7 @@ static int load_image(const char * const name, const ulong address) { struct afs_image *afi = NULL; int i; + loff_t len_read = 0;
parse_flash(); for (i = 0; i < num_afs_images; i++) { @@ -197,6 +198,7 @@ static int load_image(const char * const name, const ulong address)
for (i = 0; i < afi->region_count; i++) { ulong from, to; + u32 size;
from = afi->flash_mem_start + afi->regions[i].offset; if (address) { @@ -208,14 +210,20 @@ static int load_image(const char * const name, const ulong address) return CMD_RET_FAILURE; }
- memcpy((void *)to, (void *)from, afi->regions[i].size); + size = afi->regions[i].size; + memcpy((void *)to, (void *)from, size);
printf("loaded region %d from %08lX to %08lX, %08X bytes\n", i, from, to, - afi->regions[i].size); + size); + + len_read += size; } + + env_set_hex("filesize", len_read); + return CMD_RET_SUCCESS; }

On 23/11/2023 17:15, robert.catherall@foss.arm.com wrote:
From: Robert Catherall robert.catherall@arm.com
The `afs load` command copies data to RAM. Set the filesize environment variable to record how much data was 'loaded'
Signed-off-by: Robert Catherall robert.catherall@arm.com
Apologies for the duplicate patch; I had issues with getting mail server set up correctly. Please disregard this copy and refer instead to the earlier message with the slightly different subject
[PATCH 1/1] arm: afs: Set the filesize env. var. on load
(the actual code is identical)
Kind regards Robert
participants (2)
-
Robert Catherall
-
robert.catherall@foss.arm.com