upstream u-boot with additional patches for our devices/boards:
https://lists.denx.de/pipermail/u-boot/2017-March/282789.html (AXP crashes) ;
Gbit ethernet patch for some LIME2 revisions ;
with SPI flash support
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.2 KiB
64 lines
1.2 KiB
11 years ago
|
/*
|
||
|
* Copyright (C) 2004, 2007-2010, 2011-2014 Synopsys, Inc. All rights reserved.
|
||
|
*
|
||
|
* SPDX-License-Identifier: GPL-2.0+
|
||
|
*/
|
||
|
|
||
|
.global memcpy
|
||
|
.align 4
|
||
|
memcpy:
|
||
|
or %r3, %r0, %r1
|
||
|
asl_s %r3, %r3, 30
|
||
|
mov_s %r5, %r0
|
||
|
brls.d %r2, %r3, .Lcopy_bytewise
|
||
|
sub.f %r3, %r2, 1
|
||
|
ld_s %r12, [%r1, 0]
|
||
|
asr.f %lp_count, %r3, 3
|
||
|
bbit0.d %r3, 2, .Lnox4
|
||
|
bmsk_s %r2, %r2, 1
|
||
|
st.ab %r12, [%r5, 4]
|
||
|
ld.a %r12, [%r1, 4]
|
||
|
.Lnox4:
|
||
|
lppnz .Lendloop
|
||
|
ld_s %r3, [%r1, 4]
|
||
|
st.ab %r12, [%r5, 4]
|
||
|
ld.a %r12, [%r1, 8]
|
||
|
st.ab %r3, [%r5, 4]
|
||
|
.Lendloop:
|
||
|
breq %r2, 0, .Last_store
|
||
|
ld %r3, [%r5, 0]
|
||
|
#ifdef __LITTLE_ENDIAN__
|
||
|
add3 %r2, -1, %r2
|
||
|
/* uses long immediate */
|
||
|
xor_s %r12, %r12, %r3
|
||
|
bmsk %r12, %r12, %r2
|
||
|
xor_s %r12, %r12, %r3
|
||
|
#else /* __BIG_ENDIAN__ */
|
||
|
sub3 %r2, 31, %r2
|
||
|
/* uses long immediate */
|
||
|
xor_s %r3, %r3, %r12
|
||
|
bmsk %r3, %r3, %r2
|
||
|
xor_s %r12, %r12, %r3
|
||
|
#endif /* _ENDIAN__ */
|
||
|
.Last_store:
|
||
|
j_s.d [%blink]
|
||
|
st %r12, [%r5, 0]
|
||
|
|
||
|
.balign 4
|
||
|
.Lcopy_bytewise:
|
||
|
jcs [%blink]
|
||
|
ldb_s %r12, [%r1, 0]
|
||
|
lsr.f %lp_count, %r3
|
||
|
bhs_s .Lnox1
|
||
|
stb.ab %r12, [%r5, 1]
|
||
|
ldb.a %r12, [%r1, 1]
|
||
|
.Lnox1:
|
||
|
lppnz .Lendbloop
|
||
|
ldb_s %r3, [%r1, 1]
|
||
|
stb.ab %r12, [%r5, 1]
|
||
|
ldb.a %r12, [%r1, 2]
|
||
|
stb.ab %r3, [%r5, 1]
|
||
|
.Lendbloop:
|
||
|
j_s.d [%blink]
|
||
|
stb %r12, [%r5, 0]
|