diff options
author | Stuart Menefy <stuart.menefy@st.com> | 2007-11-01 23:14:09 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-11-01 23:14:09 -0400 |
commit | 0e670685e4925930000a678c74eb1cbf23b415fa (patch) | |
tree | 49df41f99ede80730c4262efdebd3e802d735d2c /arch/sh/mm | |
parent | c81134b58c0857122cce23b29d41788e02a5024d (diff) |
sh: Fix optimized __copy_user() movca.l usage.
movca.l is restricted to SH-4 and up only, though compilers that
are unable to support ISA tuning (especially older versions of
binutils) will happily compile in the bogus opcode on older parts.
Conditionalize it to fix SH-3 regressions noted by Kristoffer.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r-- | arch/sh/mm/copy_page.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sh/mm/copy_page.S b/arch/sh/mm/copy_page.S index a81dbdb05596..3d8409daa4be 100644 --- a/arch/sh/mm/copy_page.S +++ b/arch/sh/mm/copy_page.S | |||
@@ -255,7 +255,11 @@ EX( mov.l @r5+,r8 ) | |||
255 | EX( mov.l @r5+,r9 ) | 255 | EX( mov.l @r5+,r9 ) |
256 | EX( mov.l @r5+,r10 ) | 256 | EX( mov.l @r5+,r10 ) |
257 | EX( mov.l @r5+,r11 ) | 257 | EX( mov.l @r5+,r11 ) |
258 | #ifdef CONFIG_CPU_SH4 | ||
258 | EX( movca.l r0,@r4 ) | 259 | EX( movca.l r0,@r4 ) |
260 | #else | ||
261 | EX( mov.l r0,@r4 ) | ||
262 | #endif | ||
259 | add #-32, r6 | 263 | add #-32, r6 |
260 | EX( mov.l r1,@(4,r4) ) | 264 | EX( mov.l r1,@(4,r4) ) |
261 | mov #32, r0 | 265 | mov #32, r0 |