[U-Boot] [PATCH v5 11/27] net: Access mapped physmem in net functions
Simon Glass
sjg at chromium.org
Wed Mar 4 19:34:59 CET 2015
On 3 March 2015 at 19:41, 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 v5:
> -Include new mapmem.h header
> -Unmap memory for consistency
Reviewed-by: Simon Glass <sjg at chromium.org>
>
> Changes in v4:
> -New to v4
>
> Changes in v3: None
> Changes in v2: None
>
> net/nfs.c | 6 +++++-
> net/tftp.c | 6 +++++-
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/net/nfs.c b/net/nfs.c
> index 381b75f..8e05ae5 100644
> --- a/net/nfs.c
> +++ b/net/nfs.c
> @@ -26,6 +26,7 @@
> #include <command.h>
> #include <net.h>
> #include <malloc.h>
> +#include <mapmem.h>
> #include "nfs.h"
> #include "bootp.h"
>
> @@ -93,7 +94,10 @@ store_block(uchar *src, unsigned offset, unsigned len)
> } else
> #endif /* CONFIG_SYS_DIRECT_FLASH_NFS */
> {
> - (void)memcpy((void *)(load_addr + offset), src, len);
> + void *ptr = map_sysmem(load_addr + offset, len);
> +
> + memcpy(ptr, src, len);
> + unmap_sysmem(ptr);
> }
>
> if (NetBootFileXferSize < (offset+len))
> diff --git a/net/tftp.c b/net/tftp.c
> index 0a2c533..51c67be 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -8,6 +8,7 @@
>
> #include <common.h>
> #include <command.h>
> +#include <mapmem.h>
> #include <net.h>
> #include "tftp.h"
> #include "bootp.h"
> @@ -184,7 +185,10 @@ store_block(int block, uchar *src, unsigned len)
> } else
> #endif /* CONFIG_SYS_DIRECT_FLASH_TFTP */
> {
> - (void)memcpy((void *)(load_addr + offset), src, len);
> + void *ptr = map_sysmem(load_addr + offset, len);
> +
> + memcpy(ptr, src, len);
> + unmap_sysmem(ptr);
> }
> #ifdef CONFIG_MCAST_TFTP
> if (Multicast)
> --
> 1.7.11.5
>
More information about the U-Boot
mailing list