Loading...
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
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
12ENTRY(__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}
29ENDPROC(__csum_ipv6_magic)
30