summaryrefslogtreecommitdiffstats
path: root/arch/sh/lib/copy_page.S
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-11-18 16:48:49 +0100
committerIngo Molnar <mingo@elte.hu>2008-11-18 16:48:49 +0100
commit73f56c0d35e6427081a4eabd620d8b8d8a35bd09 (patch)
tree9fe1a2577baea03f3a6ec4a5e79f3ff26c4ee0ae /arch/sh/lib/copy_page.S
parent0af40a4b1050c050e62eb1dc30b82d5ab22bf221 (diff)
parent8501c45cc32c311ae755a2d5ac8c4a5f04908d42 (diff)
downloadkernel-crypto-73f56c0d35e6427081a4eabd620d8b8d8a35bd09.tar.gz
kernel-crypto-73f56c0d35e6427081a4eabd620d8b8d8a35bd09.tar.xz
kernel-crypto-73f56c0d35e6427081a4eabd620d8b8d8a35bd09.zip
Merge branch 'iommu-fixes-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent
Diffstat (limited to 'arch/sh/lib/copy_page.S')
-rw-r--r--arch/sh/lib/copy_page.S11
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/sh/lib/copy_page.S b/arch/sh/lib/copy_page.S
index 5d12e657be3..43de7e8e4e1 100644
--- a/arch/sh/lib/copy_page.S
+++ b/arch/sh/lib/copy_page.S
@@ -80,6 +80,11 @@ ENTRY(copy_page)
.section __ex_table, "a"; \
.long 9999b, 6000f ; \
.previous
+#define EX_NO_POP(...) \
+ 9999: __VA_ARGS__ ; \
+ .section __ex_table, "a"; \
+ .long 9999b, 6005f ; \
+ .previous
ENTRY(__copy_user)
! Check if small number of bytes
mov #11,r0
@@ -139,9 +144,9 @@ EX( mov.b r1,@r4 )
bt 1f
2:
-EX( mov.b @r5+,r0 )
+EX_NO_POP( mov.b @r5+,r0 )
dt r6
-EX( mov.b r0,@r4 )
+EX_NO_POP( mov.b r0,@r4 )
bf/s 2b
add #1,r4
@@ -150,7 +155,7 @@ EX( mov.b r0,@r4 )
# Exception handler:
.section .fixup, "ax"
-6000:
+6005:
mov.l 8000f,r1
mov r3,r0
jmp @r1