[PATCH 1/1] arm: afs: Set the filesize env. var. on load
Andre Przywara
andre.przywara at arm.com
Thu Nov 23 18:20:13 CET 2023
On Thu, 23 Nov 2023 14:16:01 +0000
Robert Catherall <robert.catherall at arm.com> wrote:
Hi Robert,
> The `afs load` command copies data to RAM. Set the filesize
> environment variable to record how much data was 'loaded'
Thanks for sending this, I realised this was indeed missing just recently!
> Signed-off-by: Robert Catherall <robert.catherall at arm.com>
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Tested-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> ---
> 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;
> }
>
More information about the U-Boot
mailing list