linux/arch/arm/lib/csumipv6.S
<<
>>
Prefs
   1/*
   2 *  linux/arch/arm/lib/csumipv6.S
   3 *
   4 *  Copyright (C) 1995-1998 Russell King
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 as
   8 * published by the Free Software Foundation.
   9 */
  10#include <linux/linkage.h>
  11#include <asm/assembler.h>
  12
  13                .text
  14
  15ENTRY(__csum_ipv6_magic)
  16                str     lr, [sp, #-4]!
  17                adds    ip, r2, r3
  18                ldmia   r1, {r1 - r3, lr}
  19                adcs    ip, ip, r1
  20                adcs    ip, ip, r2
  21                adcs    ip, ip, r3
  22                adcs    ip, ip, lr
  23                ldmia   r0, {r0 - r3}
  24                adcs    r0, ip, r0
  25                adcs    r0, r0, r1
  26                adcs    r0, r0, r2
  27                ldr     r2, [sp, #4]
  28                adcs    r0, r0, r3
  29                adcs    r0, r0, r2
  30                adcs    r0, r0, #0
  31                ldmfd   sp!, {pc}
  32ENDPROC(__csum_ipv6_magic)
  33
  34