summaryrefslogtreecommitdiff
path: root/arch/ia64/lib/memcpy_mck.S
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2006-05-17 14:51:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2006-05-17 14:51:24 -0400
commit5dd8816aeb1f068ade0349a22009ff7a66f25413 (patch)
treec56ff327b1dfa8868b4208aea9ac4158e3bfe308 /arch/ia64/lib/memcpy_mck.S
parentf03cc4fd927357bd4b3cea1a053b9f9d8f1731cc (diff)
parent0c056c50a6218e0e577817c16ba8851af593d742 (diff)
Merge branch 'from-linus' into upstream
Diffstat (limited to 'arch/ia64/lib/memcpy_mck.S')
-rw-r--r--arch/ia64/lib/memcpy_mck.S9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/ia64/lib/memcpy_mck.S b/arch/ia64/lib/memcpy_mck.S
index 46c9331e7ab5..9e534d52b1d5 100644
--- a/arch/ia64/lib/memcpy_mck.S
+++ b/arch/ia64/lib/memcpy_mck.S
@@ -6,7 +6,9 @@
* in1: source address
* in2: number of bytes to copy
* Output:
- * 0 if success, or number of byte NOT copied if error occurred.
+ * for memcpy: return dest
+ * for copy_user: return 0 if success,
+ * or number of byte NOT copied if error occurred.
*
* Copyright (C) 2002 Intel Corp.
* Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com>
@@ -73,6 +75,7 @@ GLOBAL_ENTRY(memcpy)
and r28=0x7,in0
and r29=0x7,in1
mov f6=f0
+ mov retval=in0
br.cond.sptk .common_code
;;
END(memcpy)
@@ -84,7 +87,7 @@ GLOBAL_ENTRY(__copy_user)
mov f6=f1
mov saved_in0=in0 // save dest pointer
mov saved_in1=in1 // save src pointer
- mov saved_in2=in2 // save len
+ mov retval=r0 // initialize return value
;;
.common_code:
cmp.gt p15,p0=8,in2 // check for small size
@@ -92,7 +95,7 @@ GLOBAL_ENTRY(__copy_user)
cmp.ne p14,p0=0,r29 // check src alignment
add src0=0,in1
sub r30=8,r28 // for .align_dest
- mov retval=r0 // initialize return value
+ mov saved_in2=in2 // save len
;;
add dst0=0,in0
add dst1=1,in0 // dest odd index