[U-Boot-Users] [PATCH] memcpy32 support at ARM

[PATCH] memcpy32 support at ARM
It is used at OneNAND driver
Signed-off-by: Kyungmin Park kyungmin.park@samsung.com --- diff --git a/lib_arm/Makefile b/lib_arm/Makefile index 037c475..e1258f4 100644 --- a/lib_arm/Makefile +++ b/lib_arm/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(ARCH).a
-SOBJS = _ashldi3.o _ashrdi3.o _divsi3.o _modsi3.o _udivsi3.o _umodsi3.o +SOBJS = _ashldi3.o _ashrdi3.o _divsi3.o _modsi3.o _udivsi3.o _umodsi3.o _memcpy32.o
COBJS = armlinux.o board.o \ cache.o div0.o diff --git a/lib_arm/_memcpy32.S b/lib_arm/_memcpy32.S new file mode 100644 index 0000000..d1ba36f --- /dev/null +++ b/lib_arm/_memcpy32.S @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2005-2007 Samsung Electronics + * Kyungmin Park kyungmin.park@samsung.com + * + * This file is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + */ + .text + + .global memcpy32 + .align 0 +memcpy32: + mov ip, sp + stmfd sp!, {r0, r4 - r9, fp, ip, lr, pc} + sub fp, ip, #4 +1: + ldmia r1!, {r3 - r9, ip} + subges r2, r2, #32 + stmgeia r0!, {r3 - r9, ip} + bge 1b +2: + ldmea fp, {r0, r4 - r9, fp, sp, pc}

I bottom post
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Kyungmin Park Sent: 07 September 2007 01:56 To: u-boot-users@lists.sourceforge.net Subject: [U-Boot-Users] [PATCH] memcpy32 support at ARM
[PATCH] memcpy32 support at ARM
It is used at OneNAND driver
Kyungmin
Sorry, I don't see the call to memcpy32() (so I can confirm the parameters).
Can you point me at it please
Regards
Peter

fre 2007-09-07 klockan 13:42 +0100 skrev Peter Pearse:
I bottom post
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Kyungmin Park Sent: 07 September 2007 01:56 To: u-boot-users@lists.sourceforge.net Subject: [U-Boot-Users] [PATCH] memcpy32 support at ARM
[PATCH] memcpy32 support at ARM
It is used at OneNAND driver
Kyungmin
Sorry, I don't see the call to memcpy32() (so I can confirm the parameters).
Can you point me at it please
grep memcpy *
memcpy32.patch:[PATCH] memcpy32 support at ARM memcpy32.patch:+SOBJS = _ashldi3.o _ashrdi3.o _divsi3.o _modsi3.o _udivsi3.o _umodsi3.o _memcpy32.o memcpy32.patch:diff --git a/lib_arm/_memcpy32.S b/lib_arm/_memcpy32.S memcpy32.patch:+++ b/lib_arm/_memcpy32.S memcpy32.patch:+ .global memcpy32 memcpy32.patch:+memcpy32: OneNAND_1_5.patch:+ memcpy (env_ptr->data, default_environment, OneNAND_3_5.patch:+extern void memcpy32(void *, void *, size_t); OneNAND_3_5.patch:+static void *memcpy(void *dest, const void *src, size_t count) OneNAND_3_5.patch:+ memcpy32(dest, (void *)src, count); OneNAND_3_5.patch:+ memcpy(buffer, bufferram + offset, count); OneNAND_3_5.patch:+ memcpy(buffer, bufferram + offset, count); OneNAND_3_5.patch:+ memcpy(bufferram + offset, buffer, count);
Regards
Peter
This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users

In message 20070907005551.GA19707@party you wrote:
[PATCH] memcpy32 support at ARM
It is used at OneNAND driver
Please explain why we need this function.
Best regards,
Wolfgang Denk

In message 20070907005551.GA19707@party you wrote:
[PATCH] memcpy32 support at ARM
It is used at OneNAND driver
Please explain why we need this function.
It's for performance. Now ARM used the char-based memcpy. Even though it's working with current char-based memcpy, I want to use the optimized memcpy. And basically OneNAND uses the 16-bit buswidth so we don't sure the correct behavior in OneNAND BufferRAM if we use the char-based memcpy.
It's also discuss the at previous time http://sourceforge.net/mailarchive/message.php?msg_id=f3f1b91a0703141856n180...
If you concern the portability issues, I can omit it at this time.
Thank you, Kyungmin Park
participants (4)
-
Kyungmin Park
-
Peter Pearse
-
Ulf Samuelsson
-
Wolfgang Denk