Merge branch 'for-2.6.34-incoming' into for-2.6.35-incoming
[pandora-kernel.git] / arch / arm / lib / copy_to_user.S
index 878820f..d066df6 100644 (file)
  *     Number of bytes NOT copied.
  */
 
+#define LDR1W_SHIFT    0
+#ifndef CONFIG_THUMB2_KERNEL
+#define STR1W_SHIFT    0
+#else
+#define STR1W_SHIFT    1
+#endif
+
        .macro ldr1w ptr reg abort
-       ldr \reg, [\ptr], #4
+       W(ldr) \reg, [\ptr], #4
        .endm
 
        .macro ldr4w ptr reg1 reg2 reg3 reg4 abort
        .endm
 
        .macro str1w ptr reg abort
-100:   strt \reg, [\ptr], #4
-       .section __ex_table, "a"
-       .long 100b, \abort
-       .previous
+       strusr  \reg, \ptr, 4, abort=\abort
        .endm
 
        .macro str8w ptr reg1 reg2 reg3 reg4 reg5 reg6 reg7 reg8 abort
        .endm
 
        .macro str1b ptr reg cond=al abort
-100:   str\cond\()bt \reg, [\ptr], #1
-       .section __ex_table, "a"
-       .long 100b, \abort
-       .previous
+       strusr  \reg, \ptr, 1, \cond, abort=\abort
        .endm
 
        .macro enter reg1 reg2
@@ -92,13 +93,14 @@ WEAK(__copy_to_user)
 #include "copy_template.S"
 
 ENDPROC(__copy_to_user)
+ENDPROC(__copy_to_user_std)
 
-       .section .fixup,"ax"
+       .pushsection .fixup,"ax"
        .align 0
        copy_abort_preamble
        ldmfd   sp!, {r1, r2, r3}
        sub     r0, r0, r1
        rsb     r0, r0, r2
        copy_abort_end
-       .previous
+       .popsection