[U-Boot] [RFC PATCH v4 11/23] net: Access mapped physmem in net functions
Simon Glass
sjg at chromium.org
Sun Mar 1 19:07:22 CET 2015
Hi Joe,
On 24 February 2015 at 17:02, Joe Hershberger <joe.hershberger at ni.com> wrote:
> Previously the net functions would access memory assuming physmem did
> not need to be mapped. In sandbox, that's not the case.
>
> Now we map the physmem specified by the user in loadaddr to the buffer
> that represents that space.
>
> Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
>
> ---
>
> Changes in v4:
> -New to v4
>
> Changes in v3: None
> Changes in v2: None
>
> net/nfs.c | 2 +-
> net/tftp.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/nfs.c b/net/nfs.c
> index 381b75f..c816acd 100644
> --- a/net/nfs.c
> +++ b/net/nfs.c
> @@ -93,7 +93,7 @@ store_block(uchar *src, unsigned offset, unsigned len)
> } else
> #endif /* CONFIG_SYS_DIRECT_FLASH_NFS */
> {
> - (void)memcpy((void *)(load_addr + offset), src, len);
> + memcpy((void *)(map_sysmem(load_addr, 0) + offset), src, len);
I think this would be better as:
memcpy(map_sysmem(load_addr + offset, src_len), src, len);
and for consistency we should call unmap_sysmem() too.
void *ptr = map_sysmem(load_addr + offset, src_len);
memcpy(ptr, src, len);
unmap_sysmem(ptr);
> }
>
> if (NetBootFileXferSize < (offset+len))
> diff --git a/net/tftp.c b/net/tftp.c
> index 0a2c533..9290182 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -184,7 +184,7 @@ store_block(int block, uchar *src, unsigned len)
> } else
> #endif /* CONFIG_SYS_DIRECT_FLASH_TFTP */
> {
> - (void)memcpy((void *)(load_addr + offset), src, len);
> + memcpy((void *)(map_sysmem(load_addr, 0) + offset), src, len);
Similar here.
> }
> #ifdef CONFIG_MCAST_TFTP
> if (Multicast)
> --
> 1.7.11.5
>
Regards,
Simon
More information about the U-Boot
mailing list