diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-08-27 17:05:47 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-27 17:06:24 +0200 |
commit | 4152f93508b184a85a975810b2cc3dc5c597cf57 (patch) | |
tree | 19dff39aa185f18ed662ab5802d1e873aea5ab44 /arch/avr32/lib/memcpy.S | |
parent | 6effcd92454ca5d7021b74f89fcac75209e146f9 (diff) | |
parent | fa84e9eecfff478df2d00e94deb3fc40fe4634ad (diff) |
Merge branch 'sched/clock' into x86/cleanups
Reason: The tsc init cleanup depends on sched_clock_init moving past
late_time_init.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/avr32/lib/memcpy.S')
-rw-r--r-- | arch/avr32/lib/memcpy.S | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/arch/avr32/lib/memcpy.S b/arch/avr32/lib/memcpy.S index 0abb26142b6..c2ca49d705a 100644 --- a/arch/avr32/lib/memcpy.S +++ b/arch/avr32/lib/memcpy.S @@ -24,8 +24,8 @@ memcpy: brne 1f /* At this point, "from" is word-aligned */ -2: sub r10, 4 - mov r9, r12 +2: mov r9, r12 +5: sub r10, 4 brlt 4f 3: ld.w r8, r11++ @@ -49,6 +49,7 @@ memcpy: /* Handle unaligned "from" pointer */ 1: sub r10, 4 + movlt r9, r12 brlt 4b add r10, r9 lsl r9, 2 @@ -59,4 +60,13 @@ memcpy: st.b r12++, r8 ld.ub r8, r11++ st.b r12++, r8 - rjmp 2b + mov r8, r12 + add pc, pc, r9 + sub r8, 1 + nop + sub r8, 1 + nop + sub r8, 1 + nop + mov r9, r8 + rjmp 5b |