aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
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 /arch/sh
parentc81134b58c0857122cce23b29d41788e02a5024d (diff)
downloadkernel_samsung_smdk4412-0e670685e4925930000a678c74eb1cbf23b415fa.zip
kernel_samsung_smdk4412-0e670685e4925930000a678c74eb1cbf23b415fa.tar.gz
kernel_samsung_smdk4412-0e670685e4925930000a678c74eb1cbf23b415fa.tar.bz2
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')
-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 a81dbdb..3d8409d 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