If CONFIG_USE_ARCH_MEMCPY is selected, let's use the assembly optimized
memcpy implementation for the 'cp' command.

Currently only Blackfin uses memcpy for the 'cp' command, so extend
this to the CONFIG_USE_ARCH_MEMCPY users.

Tested on a mx6qsabreauto board where a 5x gain in performance is seen
when reading 10MB from the parallel NOR memory.

Signed-off-by: Fabio Estevam <fabio.este...@nxp.com>
---
Sending as RFC as I don't know if any extra checks would be required here,
so I appreciate any feedback.

 cmd/mem.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/cmd/mem.c b/cmd/mem.c
index a690957..c1d9a7c 100644
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -465,6 +465,11 @@ static int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
        }
 #endif
 
+#ifdef CONFIG_USE_ARCH_MEMCPY
+       memcpy((void *)dest, (void *)addr, count * size);
+       return 0;
+#endif
+
        bytes = size * count;
        buf = map_sysmem(dest, bytes);
        src = map_sysmem(addr, bytes);
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to