[U-Boot] [PATCH v5 11/27] net: Access mapped physmem in net	functions
    Joe Hershberger 
    joe.hershberger at ni.com
       
    Wed Mar  4 03:41:05 CET 2015
    
    
  
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
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