diff options
Diffstat (limited to 'arch/x86/um/asm/checksum_64.h')
-rw-r--r-- | arch/x86/um/asm/checksum_64.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/x86/um/asm/checksum_64.h b/arch/x86/um/asm/checksum_64.h new file mode 100644 index 000000000..7b6cd1921 --- /dev/null +++ b/arch/x86/um/asm/checksum_64.h @@ -0,0 +1,19 @@ +/* + * Licensed under the GPL + */ + +#ifndef __UM_SYSDEP_CHECKSUM_H +#define __UM_SYSDEP_CHECKSUM_H + +static inline unsigned add32_with_carry(unsigned a, unsigned b) +{ + asm("addl %2,%0\n\t" + "adcl $0,%0" + : "=r" (a) + : "0" (a), "r" (b)); + return a; +} + +extern __sum16 ip_compute_csum(const void *buff, int len); + +#endif |