Skip to contentSkip to conversation

memcpy32 support at ARM

PATCH New Kyungmin Park 4 participants 5 messages Sep 7, 2007 – Sep 10, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 memcpy32 support at ARM

[PATCH] memcpy32 support at ARM

It is used at OneNAND driver

---

lib_arm/Makefile +1 -1
index 037c475..e1258f4 100644
@@ -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
lib_arm/_memcpy32.S new file +24 -0
new file mode 100644
index 0000000..d1ba36f
@@ -0,0 +1,24 @@
+/*
+ *  Copyright (C) 2005-2007 Samsung Electronics
+ *  Kyungmin Park <[email protected]>
+ *
+ * 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}
#1 lore raw

PATCH 1/1 memcpy32 support at ARM

I bottom post

Quoted 8 lines

-----Original Message-----
From: u-boot-users-bounces at lists.sourceforge.net [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf Of Kyungmin Park
Sent: 07 September 2007 01:56
To: u-boot-users at lists.sourceforge.net
Subject: [U-Boot-Users] [PATCH] memcpy32 support at ARM

Quoted 4 lines

[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

#2 lore raw

PATCH 1/1 memcpy32 support at ARM

fre 2007-09-07 klockan 13:42 +0100 skrev Peter Pearse:

Quoted 16 lines

I bottom post

Quoted 8 lines

-----Original Message-----
From: u-boot-users-bounces at lists.sourceforge.net [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf Of Kyungmin Park
Sent: 07 September 2007 01:56
To: u-boot-users at lists.sourceforge.net
Subject: [U-Boot-Users] [PATCH] memcpy32 support at ARM

Quoted 4 lines

[PATCH] memcpy32 support at ARM

It is used at OneNAND driver

Kyungmin

Quoted 7 lines

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);
Quoted 15 lines

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 at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

#3 lore raw

PATCH 1/1 memcpy32 support at ARM

In reply to Kyungmin Park
Quoted 3 lines · 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

Signature · 7 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I thought my people would grow tired of killing. But you were  right,
they  see it is easier than trading. And it has its pleasures. I feel
it myself. Like the hunt, but with richer rewards.
	-- Apella, "A Private Little War", stardate 4211.8
#4 lore raw

PATCH 1/1 memcpy32 support at ARM

Quoted 8 lines
Quoted 3 lines · 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=f3f1b91a0703141856n1807b799pfd8ffb4783ff0804%40mail.gmail.com

If you concern the portability issues, I can omit it at this time.

Thank you,
Kyungmin Park