public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] memcpy32 support at ARM
@ 2007-09-07  0:55 Kyungmin Park
  2007-09-07 12:42 ` Peter Pearse
  2007-09-08 23:09 ` Wolfgang Denk
  0 siblings, 2 replies; 5+ messages in thread
From: Kyungmin Park @ 2007-09-07  0:55 UTC (permalink / raw)
  To: u-boot

[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}

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot-Users] [PATCH] memcpy32 support at ARM
  2007-09-07  0:55 [U-Boot-Users] [PATCH] memcpy32 support at ARM Kyungmin Park
@ 2007-09-07 12:42 ` Peter Pearse
  2007-09-07 21:52   ` Ulf Samuelsson
  2007-09-08 23:09 ` Wolfgang Denk
  1 sibling, 1 reply; 5+ messages in thread
From: Peter Pearse @ 2007-09-07 12:42 UTC (permalink / raw)
  To: u-boot

I bottom post 

> -----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
> 
> [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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] [PATCH] memcpy32 support at ARM
  2007-09-07 12:42 ` Peter Pearse
@ 2007-09-07 21:52   ` Ulf Samuelsson
  0 siblings, 0 replies; 5+ messages in thread
From: Ulf Samuelsson @ 2007-09-07 21:52 UTC (permalink / raw)
  To: u-boot

fre 2007-09-07 klockan 13:42 +0100 skrev Peter Pearse:
> I bottom post 
> 
> > -----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
> > 
> > [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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] [PATCH] memcpy32 support at ARM
  2007-09-07  0:55 [U-Boot-Users] [PATCH] memcpy32 support at ARM Kyungmin Park
  2007-09-07 12:42 ` Peter Pearse
@ 2007-09-08 23:09 ` Wolfgang Denk
  2007-09-10  1:57   ` Kyungmin Park
  1 sibling, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2007-09-08 23:09 UTC (permalink / raw)
  To: u-boot

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

-- 
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] [PATCH] memcpy32 support at ARM
  2007-09-08 23:09 ` Wolfgang Denk
@ 2007-09-10  1:57   ` Kyungmin Park
  0 siblings, 0 replies; 5+ messages in thread
From: Kyungmin Park @ 2007-09-10  1:57 UTC (permalink / raw)
  To: u-boot

> 
> 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-09-10  1:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-07  0:55 [U-Boot-Users] [PATCH] memcpy32 support at ARM Kyungmin Park
2007-09-07 12:42 ` Peter Pearse
2007-09-07 21:52   ` Ulf Samuelsson
2007-09-08 23:09 ` Wolfgang Denk
2007-09-10  1:57   ` Kyungmin Park

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox