Deleted Added
full compact
in_cksum_arm.S (172614) in_cksum_arm.S (248361)
1/* $NetBSD: in_cksum_arm.S,v 1.2 2003/09/23 10:01:36 scw Exp $ */
2
3/*-
4 * Copyright 2003 Wasabi Systems, Inc.
5 * All rights reserved.
6 *
7 * Written by Steve C. Woodford for Wasabi Systems, Inc.
8 *

--- 30 unchanged lines hidden (view full) ---

39/*
40 * Hand-optimised in_cksum() and in4_cksum() implementations for ARM/armv5e
41 */
42
43#include "opt_inet.h"
44
45#include <machine/asm.h>
46#include "assym.s"
1/* $NetBSD: in_cksum_arm.S,v 1.2 2003/09/23 10:01:36 scw Exp $ */
2
3/*-
4 * Copyright 2003 Wasabi Systems, Inc.
5 * All rights reserved.
6 *
7 * Written by Steve C. Woodford for Wasabi Systems, Inc.
8 *

--- 30 unchanged lines hidden (view full) ---

39/*
40 * Hand-optimised in_cksum() and in4_cksum() implementations for ARM/armv5e
41 */
42
43#include "opt_inet.h"
44
45#include <machine/asm.h>
46#include "assym.s"
47__FBSDID("$FreeBSD: head/sys/arm/arm/in_cksum_arm.S 172614 2007-10-13 12:05:03Z cognet $");
47__FBSDID("$FreeBSD: head/sys/arm/arm/in_cksum_arm.S 248361 2013-03-16 02:48:49Z andrew $");
48
49/*
50 * int in_cksum(struct mbuf *m, int len)
51 *
52 * Entry:
53 * r0 m
54 * r1 len
55 *

--- 29 unchanged lines hidden (view full) ---

85 mov r1, #0xff
86 orr r1, r1, #0xff00
87 and r0, r8, r1
88 add r0, r0, r8, lsr #16
89 add r0, r0, r0, lsr #16
90 and r0, r0, r1
91 eor r0, r0, r1
92 ldmfd sp!, {r4-r11,pc}
48
49/*
50 * int in_cksum(struct mbuf *m, int len)
51 *
52 * Entry:
53 * r0 m
54 * r1 len
55 *

--- 29 unchanged lines hidden (view full) ---

85 mov r1, #0xff
86 orr r1, r1, #0xff00
87 and r0, r8, r1
88 add r0, r0, r8, lsr #16
89 add r0, r0, r0, lsr #16
90 and r0, r0, r1
91 eor r0, r0, r1
92 ldmfd sp!, {r4-r11,pc}
93END(in_cksum)
93
94
94
95ENTRY(do_cksum)
96 stmfd sp!, {r4-r7, lr}
97 bl L_cksumdata
98 mov r0, r2
99 ldmfd sp!, {r4-r7, pc}
95ENTRY(do_cksum)
96 stmfd sp!, {r4-r7, lr}
97 bl L_cksumdata
98 mov r0, r2
99 ldmfd sp!, {r4-r7, pc}
100END(do_cksum)
101
100/*
101 * The main in*_cksum() workhorse...
102 *
103 * Entry parameters:
104 * r0 Pointer to buffer
105 * r1 Buffer length
106 * lr Return address
107 *

--- 224 unchanged lines hidden (view full) ---

332 orreq r3, r3, r4, lsl #8
333 orreq r3, r3, r5, lsl #16
334 orrne r3, r4, r3, lsl #8
335 orrne r3, r3, r5, lsl #24
336#endif
337 adds r2, r2, r3
338 adc r2, r2, #0x00
339 RET
102/*
103 * The main in*_cksum() workhorse...
104 *
105 * Entry parameters:
106 * r0 Pointer to buffer
107 * r1 Buffer length
108 * lr Return address
109 *

--- 224 unchanged lines hidden (view full) ---

334 orreq r3, r3, r4, lsl #8
335 orreq r3, r3, r5, lsl #16
336 orrne r3, r4, r3, lsl #8
337 orrne r3, r3, r5, lsl #24
338#endif
339 adds r2, r2, r3
340 adc r2, r2, #0x00
341 RET
342END(L_cksumdata)
343