diff options
author | Tom Rini <trini@konsulko.com> | 2019-12-05 16:37:36 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2019-12-05 16:37:36 -0500 |
commit | 28a4516cf154d6f7e738f8e0519b41eccef5af5c (patch) | |
tree | a05dc64caed8ae10c8cbfa491994374d17206858 /cmd/mem.c | |
parent | 7e5ee346fc4c26c5f96ae13d599cf31d05fa6772 (diff) | |
parent | 8cc738b9fcb5c1b140c721cb4f994ceb185c4c0c (diff) |
Merge branch '2019-12-05-master-imports'
- Assorted omapl138_lcdk / da850-evm fixes
- FAT fix, add another pytest as well for FAT.
- Assorted general fixes
Diffstat (limited to 'cmd/mem.c')
-rw-r--r-- | cmd/mem.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/cmd/mem.c b/cmd/mem.c index 545534b1fc7..4ec450b0502 100644 --- a/cmd/mem.c +++ b/cmd/mem.c @@ -303,6 +303,7 @@ static int do_mem_cmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) static int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { ulong addr, dest, count; + void *src, *dst; int size; if (argc != 4) @@ -326,25 +327,34 @@ static int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) return 1; } + src = map_sysmem(addr, count * size); + dst = map_sysmem(dest, count * size); + #ifdef CONFIG_MTD_NOR_FLASH /* check if we are copying to Flash */ - if (addr2info(dest) != NULL) { + if (addr2info((ulong)dst)) { int rc; puts ("Copy to Flash... "); - rc = flash_write ((char *)addr, dest, count*size); + rc = flash_write((char *)src, (ulong)dst, count * size); if (rc != 0) { flash_perror (rc); + unmap_sysmem(src); + unmap_sysmem(dst); return (1); } puts ("done\n"); + unmap_sysmem(src); + unmap_sysmem(dst); return 0; } #endif - memcpy((void *)dest, (void *)addr, count * size); + memcpy(dst, src, count * size); + unmap_sysmem(src); + unmap_sysmem(dst); return 0; } |