Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / arch / x86_64 / lib / csum-copy.S
index 72fd55e..f0dba36 100644 (file)
@@ -5,8 +5,9 @@
  * License.  See the file COPYING in the main directory of this archive
  * for more details. No warranty for anything given at all.
  */
-       #include <linux/linkage.h>
-       #include <asm/errno.h>
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+#include <asm/errno.h>
 
 /*
  * Checksum copy with exception handling.
        .endm
        
                                
-       .globl csum_partial_copy_generic
-       .p2align 4
-csum_partial_copy_generic:
+ENTRY(csum_partial_copy_generic)
+       CFI_STARTPROC
        cmpl     $3*64,%edx
        jle      .Lignore
 
 .Lignore:              
        subq  $7*8,%rsp
+       CFI_ADJUST_CFA_OFFSET 7*8
        movq  %rbx,2*8(%rsp)
+       CFI_REL_OFFSET rbx, 2*8
        movq  %r12,3*8(%rsp)
+       CFI_REL_OFFSET r12, 3*8
        movq  %r14,4*8(%rsp)
+       CFI_REL_OFFSET r14, 4*8
        movq  %r13,5*8(%rsp)
+       CFI_REL_OFFSET r13, 5*8
        movq  %rbp,6*8(%rsp)
+       CFI_REL_OFFSET rbp, 6*8
 
        movq  %r8,(%rsp)
        movq  %r9,1*8(%rsp)
@@ -208,14 +214,22 @@ csum_partial_copy_generic:
        addl %ebx,%eax
        adcl %r9d,%eax          /* carry */
                        
+       CFI_REMEMBER_STATE
 .Lende:
        movq 2*8(%rsp),%rbx
+       CFI_RESTORE rbx
        movq 3*8(%rsp),%r12
+       CFI_RESTORE r12
        movq 4*8(%rsp),%r14
+       CFI_RESTORE r14
        movq 5*8(%rsp),%r13
+       CFI_RESTORE r13
        movq 6*8(%rsp),%rbp
+       CFI_RESTORE rbp
        addq $7*8,%rsp
+       CFI_ADJUST_CFA_OFFSET -7*8
        ret
+       CFI_RESTORE_STATE
 
        /* Exception handlers. Very simple, zeroing is done in the wrappers */
 .Lbad_source:
@@ -231,3 +245,5 @@ csum_partial_copy_generic:
        jz   .Lende     
        movl $-EFAULT,(%rax)
        jmp .Lende
+       CFI_ENDPROC
+ENDPROC(csum_partial_copy_generic)