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>
master
Joe Hershberger 9 years ago committed by Simon Glass
parent 5c421331d5
commit 55d5fd9a84
  1. 6
      net/nfs.c
  2. 6
      net/tftp.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))

@ -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)

Loading…
Cancel
Save