xref: /linux/arch/arm/lib/csumipv6.S (revision db6d8d5fdf9537641c76ba7f32e02b4bcc600972)
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#include <asm/export.h>
13
14		.text
15
16ENTRY(__csum_ipv6_magic)
17		str	lr, [sp, #-4]!
18		adds	ip, r2, r3
19		ldmia	r1, {r1 - r3, lr}
20		adcs	ip, ip, r1
21		adcs	ip, ip, r2
22		adcs	ip, ip, r3
23		adcs	ip, ip, lr
24		ldmia	r0, {r0 - r3}
25		adcs	r0, ip, r0
26		adcs	r0, r0, r1
27		adcs	r0, r0, r2
28		ldr	r2, [sp, #4]
29		adcs	r0, r0, r3
30		adcs	r0, r0, r2
31		adcs	r0, r0, #0
32		ldmfd	sp!, {pc}
33ENDPROC(__csum_ipv6_magic)
34EXPORT_SYMBOL(__csum_ipv6_magic)
35