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