]> err.no Git - linux-2.6/blobdiff - arch/x86/lib/mmx_32.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6
[linux-2.6] / arch / x86 / lib / mmx_32.c
index 28084d2e8dd4d96f8371a629f206406b05031203..cc9b4a4450f3fe3fc344f34114fc3d9ec4cd4fe4 100644 (file)
@@ -4,6 +4,7 @@
 #include <linux/hardirq.h>
 #include <linux/module.h>
 
+#include <asm/asm.h>
 #include <asm/i387.h>
 
 
@@ -50,10 +51,7 @@ void *_mmx_memcpy(void *to, const void *from, size_t len)
                "3: movw $0x1AEB, 1b\n" /* jmp on 26 bytes */
                "   jmp 2b\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 4\n"
-               "       .long 1b, 3b\n"
-               ".previous"
+               _ASM_EXTABLE(1b,3b)
                : : "r" (from) );
                
        
@@ -81,10 +79,7 @@ void *_mmx_memcpy(void *to, const void *from, size_t len)
                "3: movw $0x05EB, 1b\n" /* jmp on 5 bytes */
                "   jmp 2b\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 4\n"
-               "       .long 1b, 3b\n"
-               ".previous"
+               _ASM_EXTABLE(1b,3b)
                : : "r" (from), "r" (to) : "memory");
                from+=64;
                to+=64;
@@ -181,10 +176,7 @@ static void fast_copy_page(void *to, void *from)
                "3: movw $0x1AEB, 1b\n" /* jmp on 26 bytes */
                "   jmp 2b\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 4\n"
-               "       .long 1b, 3b\n"
-               ".previous"
+               _ASM_EXTABLE(1b,3b)
                : : "r" (from) );
 
        for(i=0; i<(4096-320)/64; i++)
@@ -211,10 +203,7 @@ static void fast_copy_page(void *to, void *from)
                "3: movw $0x05EB, 1b\n" /* jmp on 5 bytes */
                "   jmp 2b\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 4\n"
-               "       .long 1b, 3b\n"
-               ".previous"
+               _ASM_EXTABLE(1b,3b)
                : : "r" (from), "r" (to) : "memory");
                from+=64;
                to+=64;
@@ -311,10 +300,7 @@ static void fast_copy_page(void *to, void *from)
                "3: movw $0x1AEB, 1b\n" /* jmp on 26 bytes */
                "   jmp 2b\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 4\n"
-               "       .long 1b, 3b\n"
-               ".previous"
+               _ASM_EXTABLE(1b,3b)
                : : "r" (from) );
 
        for(i=0; i<4096/64; i++)
@@ -341,10 +327,7 @@ static void fast_copy_page(void *to, void *from)
                "3: movw $0x05EB, 1b\n" /* jmp on 5 bytes */
                "   jmp 2b\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 4\n"
-               "       .long 1b, 3b\n"
-               ".previous"
+               _ASM_EXTABLE(1b,3b)
                : : "r" (from), "r" (to) : "memory");
                from+=64;
                to+=64;