1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  linux/arch/arm/lib/csumipv6.S
4  *
5  *  Copyright (C) 1995-1998 Russell King
6  */
7 #include <linux/linkage.h>
8 #include <asm/assembler.h>
9 
10 		.text
11 
12 ENTRY(__csum_ipv6_magic)
13 		str	lr, [sp, #-4]!
14 		adds	ip, r2, r3
15 		ldmia	r1, {r1 - r3, lr}
16 		adcs	ip, ip, r1
17 		adcs	ip, ip, r2
18 		adcs	ip, ip, r3
19 		adcs	ip, ip, lr
20 		ldmia	r0, {r0 - r3}
21 		adcs	r0, ip, r0
22 		adcs	r0, r0, r1
23 		adcs	r0, r0, r2
24 		ldr	r2, [sp, #4]
25 		adcs	r0, r0, r3
26 		adcs	r0, r0, r2
27 		adcs	r0, r0, #0
28 		ldmfd	sp!, {pc}
29 ENDPROC(__csum_ipv6_magic)
30 
31