summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStuart Menefy <stuart.menefy@st.com>2007-11-02 12:14:09 +0900
committerPaul Mundt <lethal@linux-sh.org>2007-11-02 12:14:09 +0900
commit0e670685e4925930000a678c74eb1cbf23b415fa (patch)
tree49df41f99ede80730c4262efdebd3e802d735d2c
parentc81134b58c0857122cce23b29d41788e02a5024d (diff)
downloadlinux-0e670685e4925930000a678c74eb1cbf23b415fa.tar.gz
linux-0e670685e4925930000a678c74eb1cbf23b415fa.tar.bz2
linux-0e670685e4925930000a678c74eb1cbf23b415fa.zip
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>
-rw-r--r--arch/sh/mm/copy_page.S4
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 )
EX( mov.l @r5+,r9 )
EX( mov.l @r5+,r10 )
EX( mov.l @r5+,r11 )
+#ifdef CONFIG_CPU_SH4
EX( movca.l r0,@r4 )
+#else
+EX( mov.l r0,@r4 )
+#endif
add #-32, r6
EX( mov.l r1,@(4,r4) )
mov #32, r0