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>
This commit is contained in:
parent
5c421331d5
commit
55d5fd9a84
@ -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…
Reference in New Issue
Block a user