diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2015-03-22 17:09:08 -0500 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-04-18 11:11:11 -0600 |
commit | 55d5fd9a84ced5c5feb5eda0db1523fa3c2fc742 (patch) | |
tree | 3111a6255f6b933140d445125e5d3b46107982fe | |
parent | 5c421331d5a8eac754c4509a4c710ef334b823c5 (diff) | |
download | u-boot-imx-55d5fd9a84ced5c5feb5eda0db1523fa3c2fc742.zip u-boot-imx-55d5fd9a84ced5c5feb5eda0db1523fa3c2fc742.tar.gz u-boot-imx-55d5fd9a84ced5c5feb5eda0db1523fa3c2fc742.tar.bz2 |
net: Access mapped physmem in net functions
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@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | net/nfs.c | 6 | ||||
-rw-r--r-- | net/tftp.c | 6 |
2 files changed, 10 insertions, 2 deletions
@@ -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)) @@ -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) |