Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 189293
b: refs/heads/master
c: ca3865b
h: refs/heads/master
i:
  189291: 63aa86e
v: v3
  • Loading branch information
Michal Simek committed Apr 1, 2010
1 parent e107b26 commit 167b55b
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6059b3cbeb27a38e3ca9ac9d2827f7b5be32e2ba
refs/heads/master: ca3865bae5ff86f5670edc9beebbd1f58c29de85
39 changes: 25 additions & 14 deletions trunk/arch/microblaze/lib/uaccess_old.S
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ __strncpy_user:
nop
.size __strncpy_user, . - __strncpy_user


.section .fixup, "ax"
.align 2
4:
Expand Down Expand Up @@ -95,7 +94,6 @@ __strnlen_user:
nop
.size __strnlen_user, . - __strnlen_user


.section .fixup,"ax"
4:
brid 3b
Expand All @@ -121,21 +119,34 @@ __copy_tofrom_user:
* r7, r3 - count
* r4 - tempval
*/
addik r3,r7,0
beqi r3,3f
1:
lbu r4,r6,r0
addik r6,r6,1
2:
sb r4,r5,r0
addik r3,r3,-1
bneid r3,1b
addik r5,r5,1 /* delay slot */
beqid r7, 3f /* zero size is not likely */
andi r3, r7, 0x3 /* filter add count */
bneid r3, 4f /* if is odd value then byte copying */
or r3, r5, r6 /* find if is any to/from unaligned */
andi r3, r3, 0x3 /* mask unaligned */
bneid r3, 1f /* it is unaligned -> then jump */
or r3, r0, r0

/* at least one 4 byte copy */
5: lw r4, r6, r3
6: sw r4, r5, r3
addik r7, r7, -4
bneid r7, 5b
addik r3, r3, 4
addik r3, r7, 0
rtsd r15, 8
nop
4: or r3, r0, r0
1: lbu r4,r6,r3
2: sb r4,r5,r3
addik r7,r7,-1
bneid r7,1b
addik r3,r3,1 /* delay slot */
3:
addik r3,r7,0
rtsd r15,8
nop
.size __copy_tofrom_user, . - __copy_tofrom_user


.section __ex_table,"a"
.word 1b,3b,2b,3b
.word 1b,3b,2b,3b,5b,3b,6b,3b

0 comments on commit 167b55b

Please sign in to comment.