diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-22 11:11:33 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-22 11:11:33 -0700 |
commit | 3f2c6d0f4f0dafdc99af0df71edba57e7815cb13 (patch) | |
tree | 757a03a92ee24cdd21b26c2f478b10eb607172ab /arch/blackfin/lib/memcpy.S | |
parent | 4beb2584be3cf1d4fc7a222b0f747735da8e3c91 (diff) | |
parent | 216e39db112da4d25a52aeb956e7da70fdd0d94c (diff) | |
download | talos-op-linux-3f2c6d0f4f0dafdc99af0df71edba57e7815cb13.tar.gz talos-op-linux-3f2c6d0f4f0dafdc99af0df71edba57e7815cb13.zip |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
Blackfin arch: add proper const volatile to addr argument to the read functions
Blackfin arch: Add definition of dma_mapping_error
Blackfin arch: move cond_syscall() behind __KERNEL__ like all other architectures
Blackfin arch: match kernel startup messaage with new linker script
Blackfin arch: add missing braces around array bfin serial init
Blackfin arch: update printk to use KERN_EMERG and reformat crash output
Blackfin arch: update ANOMALY handling
Diffstat (limited to 'arch/blackfin/lib/memcpy.S')
-rw-r--r-- | arch/blackfin/lib/memcpy.S | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/blackfin/lib/memcpy.S b/arch/blackfin/lib/memcpy.S index 34b5a91c215c..14a5585bbd02 100644 --- a/arch/blackfin/lib/memcpy.S +++ b/arch/blackfin/lib/memcpy.S @@ -94,13 +94,20 @@ ENTRY(_memcpy) .Lmore_than_seven: /* There's at least eight bytes to copy. */ P2 += -1; /* because we unroll one iteration */ - LSETUP(.Lword_loop, .Lword_loop) LC0=P2; + LSETUP(.Lword_loops, .Lword_loope) LC0=P2; R0 = R1; I1 = P1; R3 = [I1++]; -.Lword_loop: +#ifdef ANOMALY_05000202 +.Lword_loops: + [P0++] = R3; +.Lword_loope: + R3 = [I1++]; +#else +.Lword_loops: +.Lword_loope: MNOP || [P0++] = R3 || R3 = [I1++]; - +#endif [P0++] = R3; /* Any remaining bytes to copy? */ R3 = 0x3; |