diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-06-17 13:25:08 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-06-17 13:25:08 +0000 |
commit | 59223edaa18759982db0a8aced0e77457d10c68e (patch) | |
tree | 89354903b01fa0a447bffeefe00df3044495db2e /arch/i386/lib | |
parent | db7d4daea91e105e3859cf461d7e53b9b77454b2 (diff) |
Merge with Linux 2.3.6. Sorry, this isn't tested on silicon, I don't
have a MIPS box at hand.
Diffstat (limited to 'arch/i386/lib')
-rw-r--r-- | arch/i386/lib/checksum.S | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/i386/lib/checksum.S b/arch/i386/lib/checksum.S index 46527a85d..904f70f90 100644 --- a/arch/i386/lib/checksum.S +++ b/arch/i386/lib/checksum.S @@ -117,9 +117,11 @@ csum_partial: #else /* CPU==686 */ csum_partial: - movl 12(%esp),%eax # Function arg: unsigned int sum - movl 8(%esp),%ecx # Function arg: int len - movl 4(%esp),%esi # Function arg: const unsigned char *buf + pushl %esi + pushl %ebx + movl 20(%esp),%eax # Function arg: unsigned int sum + movl 16(%esp),%ecx # Function arg: int len + movl 12(%esp),%esi # Function arg: const unsigned char *buf testl $2, %esi jnz 30f @@ -204,6 +206,8 @@ csum_partial: addl %ebx,%eax adcl $0,%eax 80: + popl %ebx + popl %esi ret #endif /* CPU==686 */ @@ -369,7 +373,7 @@ DST( movb %cl, (%edi) ) #define ROUND1(x) \ SRC(movl x(%esi), %ebx ) ; \ - addl %ebx, %eax\n ; \ + addl %ebx, %eax ; \ DST(movl %ebx, x(%edi) ) ; #define ROUND(x) \ |