summaryrefslogtreecommitdiffstats
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-crypto-0e670685e4925930000a678c74eb1cbf23b415fa.tar.gz
kernel-crypto-0e670685e4925930000a678c74eb1cbf23b415fa.tar.xz
kernel-crypto-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>
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 a81dbdb0559..3d8409daa4b 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