From 8c3021e1b5b0fc208ecbb10e34d43d67cdac9297 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Fri, 20 May 2005 16:50:55 +1000 Subject: [PATCH] --- yaml --- r: 1278 b: refs/heads/master c: 72480ef863740c3dc301b0803c9ed6d10716aa11 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/ppc/lib/string.S | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6c7fbf9d8287..9f145a210382 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3207a80a6e11c7ceff7e46d5ec6bfcc03c14e729 +refs/heads/master: 72480ef863740c3dc301b0803c9ed6d10716aa11 diff --git a/trunk/arch/ppc/lib/string.S b/trunk/arch/ppc/lib/string.S index 8d08a2eb225e..36c9b97fd92a 100644 --- a/trunk/arch/ppc/lib/string.S +++ b/trunk/arch/ppc/lib/string.S @@ -446,6 +446,7 @@ _GLOBAL(__copy_tofrom_user) #ifdef CONFIG_8xx /* Don't use prefetch on 8xx */ mtctr r0 + li r0,0 53: COPY_16_BYTES_WITHEX(0) bdnz 53b @@ -564,7 +565,9 @@ _GLOBAL(__copy_tofrom_user) /* or write fault in cacheline loop */ 105: li r9,1 92: li r3,LG_CACHELINE_BYTES - b 99f + mfctr r8 + add r0,r0,r8 + b 106f /* read fault in final word loop */ 108: li r9,0 b 93f @@ -585,7 +588,7 @@ _GLOBAL(__copy_tofrom_user) * r5 + (ctr << r3), and r9 is 0 for read or 1 for write. */ 99: mfctr r0 - slw r3,r0,r3 +106: slw r3,r0,r3 add. r3,r3,r5 beq 120f /* shouldn't happen */ cmpwi 0,r9,0